STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228054
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2560 · P5120

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/97219112?noj=FRM97219112-25DC" width="1" height="1"></div>

_undefeated.swf

This is the info page for
Flash #201630

(Click the ID number above for more basic data on this flash file.)


ActionScript [AS1/AS2]
Combined Code
movieClip 2 Emitter2 { frame 1 { PD = 1000000; Spin = 0; tyu = 0; ph = 1; yu = -1; this.onEnterFrame = function () { if (tyu == 0) { ph = 1; yu *= -1; rty = 0.1; xcv = 0; } tyu += yu; if (tyu % 50 == 0) { xcv -= 10; } if (tyu % 100 == 0) { xcv = 10; } if (tyu % 200 == 0) { ph = tyu / 200; } if (tyu % 250 == 0) { rty *= -1; } if (tyu % 500 == 0) { rty = 0.2; } if (tyu == 1000) { yu *= -1; } xcv += rty; i = 0; while (i <= 2) { var v3 = this.attachMovie('Shell', 'S' + PD, PD); --PD; if (_global.ParticleMode == 1) { v3._x = this._parent._xmouse; v3._y = this._parent._ymouse; } else { v3._x = 0; v3._y = 0; } v3._xscale = Math.random() * 0 + 12; v3._yscale = v3._xscale / 2; v3._rotation = i * 120 + Spin; Spin += 0.5; if (Spin > 1040) { Spin = 0; } v3.gotoAndStop(ph); v3.Life = 20; v3.tyu = tyu; v3.onEnterFrame = function () { this._xscale -= 0.02; this._yscale -= 0.02; if (this._yscale < 0.5) { this.removeMovieClip(); } this.Life -= 1; if (this.Life < 1) { this.removeMovieClip(); } this._alpha -= 0; if (this._alpha < 5) { this.removeMovieClip(); } this._rotation += xcv / ((tyu % 1) / 2 + 1); speedx = Math.sin(this._rotation * 0.0174532925199433) * 6; speedy = Math.cos(this._rotation * 0.0174532925199433) * 6 * -1; this._y += speedx; this._x += speedy; }; ++i; } }; } } // unknown tag 88 length 73 movieClip 6 ZZ_UnitInfo { } movieClip 15 ZZ_TextSpray { } movieClip 17 Restrict { } movieClip 19 Z_TidalWave { frame 1 { if (this.Speed == undefined) { stop(); } } } movieClip 21 Z_TealFX1 { } movieClip 24 { } movieClip 25 { } movieClip 26 Z_MegaClusterBomb { instance of movieClip 25 { onClipEvent (enterFrame) { if (this._parent.Speed != undefined) { this._rotation += 15; } } } } movieClip 28 { } // unknown tag 88 length 68 movieClip 31 SkillUnlockText { } movieClip 34 Enchant { } movieClip 36 Grass13 { } movieClip 38 Grass11 { } movieClip 40 Grass10 { } movieClip 42 Grass9 { } // unknown tag 88 length 146 movieClip 45 GoodEffectText { } movieClip 47 BadEffectText { } movieClip 49 Shell { } movieClip 51 Particle { frame 1 { } } movieClip 53 UpgradeSymbol { } movieClip 55 { } movieClip 58 { } movieClip 59 MagicSwordIcon { } movieClip 61 RedPotion { } movieClip 62 RedPotionIcon { } movieClip 65 { } movieClip 70 { } movieClip 77 Z_RedLightning { } movieClip 79 FireBomb { frame 1 { stop(); } instance asfasdfsad of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance adsfasdf of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance dafsfdsasfd of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } frame 6 { this.removeMovieClip(); } } movieClip 80 FireBombIcon { } movieClip 82 BluePotion { } movieClip 83 BluePotionIcon { } movieClip 85 BrownPotion { } movieClip 86 BrownPotionIcon { } movieClip 88 WhitePotion { } movieClip 89 WhitePotionIcon { } movieClip 91 { } movieClip 92 SwordGFX { } movieClip 93 SwordIcon { } movieClip 95 WoodAxeIcon { } movieClip 97 { } movieClip 99 Z_Arrow { } movieClip 100 BowIcon { } movieClip 102 { } movieClip 103 ExplodeWandIcon { } movieClip 105 { } movieClip 107 Z_MagicArrow { } movieClip 108 MagicBowIcon { } movieClip 110 { } movieClip 111 FrostWandIcon { } movieClip 114 { } movieClip 115 Shield { } movieClip 116 ShieldIcon { } movieClip 118 { } movieClip 120 MagicShield { } movieClip 121 MagicShieldIcon { } movieClip 126 { frame 5 { gotoAndPlay(Math.round(Math.random() * 10) + 6); } } movieClip 129 { } movieClip 131 FrostMine { frame 1 { stop(); } frame 4 { this.removeMovieClip(); } } movieClip 133 { } movieClip 134 DarkAmuletIcon { } // unknown tag 88 length 63 movieClip 137 { } // unknown tag 88 length 60 // unknown tag 88 length 68 movieClip 151 { frame 7 { this.gotoAndPlay(Math.round(Math.random() * 75)); } } movieClip 152 GoldBar { } movieClip 154 Star1 { } movieClip 157 { } movieClip 159 { } movieClip 161 { } movieClip 163 { } // unknown tag 88 length 68 // unknown tag 88 length 68 movieClip 180 { } movieClip 182 { } movieClip 188 { } movieClip 189 { } movieClip 192 { } movieClip 193 { } // unknown tag 88 length 67 movieClip 231 { } movieClip 232 { } movieClip 235 GlowStar { } movieClip 240 StorePage2 { frame 1 { if (this._parent.HighestStage >= 100) { Stage100Unlock._visible = false; } if (_global.HeroMode == true) { HeroModeUnlock._visible = false; } } frame 1 { if (this._parent.HeroUnlock == false) { HeroModeActive._visible = false; } } frame 1 { function LoadSequence(Type, Target) { StageRef = this._parent; Target.R1.gotoAndStop(StageRef[Type + 'R1']); Target.R2.gotoAndStop(StageRef[Type + 'R2']); Target.R3.gotoAndStop(StageRef[Type + 'R3']); Target.R4.gotoAndStop(StageRef[Type + 'R4']); Tier = StageRef[Type + 'ItemTier']; if (Tier > 1) { Target.R1._alpha = 25; } if (Tier > 2) { Target.R2._alpha = 25; } if (Tier > 3) { Target.R3._alpha = 25; } if (Tier > 4) { Target.R4._alpha = 25; } Target['R' + Tier]._y -= 1; Target['R' + Tier]._xscale = 110; Target['R' + Tier]._yscale = 110; Target['R' + Tier]._alpha = 100; Target.Bar._x = Target['R' + Tier]._x; if (Tier > 4) { Target.Bar._visible = false; } } LoadSequence('Shield', RarityPanel1); LoadSequence('Sword', RarityPanel2); LoadSequence('Bow', RarityPanel3); LoadSequence('Potion', RarityPanel4); } frame 1 { function RefreshPage2() { DEFENSEDT.text = this._parent.DefenseTotal + ' DEFENSE'; ATTACKDT.text = this._parent.AttackTotal + ' ATTACK'; MAGICDT.text = this._parent.MagicTotal + ' MAGIC'; UTILITYDT.text = this._parent.UtilityTotal + ' UTILITY'; SPECIALDT.text = this._parent.SpecialTotal + ' SPECIAL'; EVILDT.text = this._parent.EvilTotal + ' EVIL'; HOLYDT.text = this._parent.HolyTotal + ' HOLY'; Gold_txt.text = _global.GoldCount; Stars_txt.text = _global.StarCount; DefenseCost = Math.ceil(this._parent.DefenseUpgrade * (5000 + this._parent.DefenseTotal / 2) * 25 / (24 + this._parent.DefenseUpgrade)); AttackCost = Math.ceil(this._parent.AttackUpgrade * (5000 + this._parent.AttackTotal / 2) * 25 / (24 + this._parent.AttackUpgrade)); MagicCost = Math.ceil(this._parent.MagicUpgrade * (5000 + this._parent.MagicTotal / 2) * 25 / (24 + this._parent.MagicUpgrade)); UtilityCost = Math.ceil(this._parent.UtilityUpgrade * (5000 + this._parent.UtilityTotal / 2) * 25 / (24 + this._parent.UtilityUpgrade)); AllDefense_txt.text = '+' + this._parent.DefenseUpgrade + '/all'; AllAttack_txt.text = '+' + this._parent.AttackUpgrade + '/all'; AllMagic_txt.text = '+' + this._parent.MagicUpgrade + '/all'; AllUtility_txt.text = '+' + this._parent.UtilityUpgrade + '/all'; AllDefenseCost_txt.text = DefenseCost; AllAttackCost_txt.text = AttackCost; AllMagicCost_txt.text = MagicCost; AllUtilityCost_txt.text = UtilityCost; ExchangeTier = this._parent.ExchangeTier; UpgradeCost = 5000; GoldAmount = 1000; StarAmount = 1000; i = 1; while (i < ExchangeTier) { UpgradeCost *= 3; GoldAmount *= 1.75; StarAmount *= 2; ++i; } GoldAmount = Math.ceil(GoldAmount); StarAmount = Math.ceil(StarAmount); ExchangeGold_txt.text = GoldAmount; ExchangeStars_txt.text = StarAmount; UpgradeCost_txt.text = UpgradeCost; Scale = (200 + this._parent.CurrentStage) / 200; MarketCost = (5000 + this._parent.MarketBuy * 2500) * Scale * 10 / (10 + this._parent.MarketTier); MarketCost *= (100 - this._parent.Skill('H', 'ItemPriceReductionPcnt')) / 100; MarketCost = Math.floor(MarketCost); MarketCost_txt.text = MarketCost; MarketCost2_txt.text = Math.ceil((10 / (10 + this._parent.MarketTier)) * 100) + '% Cost'; MarketRarity = this._parent.MarketTier * 10 - 15; MarketRarity_txt.text = MarketRarity + '% Rarity'; UpgradeCost2 = 1000 * Math.pow(2, this._parent.MarketTier); UpgradeCost2_txt.text = UpgradeCost2; } function BuyAll(Type, Self) { cost = this[Type + 'Cost']; if (_global.GoldCount >= cost) { _global.GoldCount -= cost; this._parent.Trinity1[this._parent.GoldKey] -= cost; Splash(Type, Self); h = 0; while (h < this._parent.HeroSkill.length) { if (this._parent['H_' + this._parent.HeroSkill[h]].Type == Type) { this._parent.Trinity1[this._parent['HeroKey_' + this._parent.HeroSkill[h]]] += this._parent[Type + 'Upgrade']; this._parent['H_' + this._parent.HeroSkill[h]].SkillLevel += this._parent[Type + 'Upgrade']; this._parent[this._parent['H_' + this._parent.HeroSkill[h]].Type + 'Total'] += this._parent[Type + 'Upgrade']; } ++h; } this._parent[Type + 'Upgrade'] += 2; } RefreshPage2(); } function BuyUnlock(Type) { cost = this[Type + 'UnlockCost']; if (_global.GoldCount >= cost) { _global.GoldCount -= cost; this._parent.Trinity1[this._parent.GoldKey] -= cost; h = 0; while (h < this._parent.HeroSkill.length) { if (this._parent['H_' + this._parent.HeroSkill[h]].Type == Type) { this._parent._parent['H_' + this._parent._parent.HeroSkill[h]].Unlock = true; } ++h; } } RefreshPage2(); } function Splash(Type, Self) { var v3 = this._parent.attachMovie('SkillType' + Type, 'splashFX', _global.Depth + 1111119980); ++_global.Depth; v3._x = Self._x + this._x; v3._y = Self._y + this._y; v3._alpha = 80; v3.onEnterFrame = function () { this._xscale *= 1.05; this._yscale *= 1.05; this._alpha -= 4; if (this._alpha < 0) { this.removeMovieClip(); } }; } function Splash2(Self) { var v3 = this._parent.attachMovie('UpgradeSymbol', 'splashFX', _global.Depth + 1111119980); ++_global.Depth; v3._x = Self._x + this._x; v3._y = Self._y + this._y; v3._alpha = 80; v3.onEnterFrame = function () { this._xscale *= 1.05; this._yscale *= 1.05; this._alpha -= 4; if (this._alpha < 0) { this.removeMovieClip(); } }; } RefreshPage2(); MARKET.onPress = function () { cost = this._parent.MarketCost; if (_global.GoldCount >= cost) { _global.GoldCount -= cost; this._parent._parent.Trinity1[this._parent._parent.GoldKey] -= cost; R = this._parent._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); i = 0; while (i < 10) { TempID = this._parent._parent.TotalItemID; this._parent._parent.GenItem('Random', MarketRarity); this._parent._parent.AddInventoryItem(TempID); ++i; } this._parent._parent.MarketBuy += 1; RefreshPage2(); } }; UPGRADE2.onPress = function () { cost = this._parent.UpgradeCost2; if (_global.GoldCount >= cost) { _global.GoldCount -= cost; this._parent._parent.Trinity1[this._parent._parent.GoldKey] -= cost; Splash2(this); this._parent._parent.MarketTier += 1; RefreshPage2(); } }; EXCHANGE.onPress = function () { cost = this._parent.GoldAmount; if (_global.GoldCount >= cost) { _global.GoldCount -= cost; this._parent._parent.Trinity1[this._parent._parent.GoldKey] -= cost; _global.StarCount += this._parent.StarAmount; this._parent._parent.Trinity1[this._parent._parent.StarKey] += this._parent.StarAmount; this._parent._parent.TotalStars += this._parent.StarAmount; R = this._parent._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); RefreshPage2(); } }; UPGRADE.onPress = function () { cost = this._parent.UpgradeCost; if (_global.GoldCount >= cost) { _global.GoldCount -= cost; this._parent._parent.Trinity1[this._parent._parent.GoldKey] -= cost; Splash2(this); this._parent._parent.ExchangeTier += 1; RefreshPage2(); } }; EXIT.onPress = function () { _global.GamePause = false; _global.MenuOpen = false; this._parent.removeMovieClip(); }; BACK.onPress = function () { _global.MenuOpen = true; _global.GamePause = true; var v3 = this._parent._parent.attachMovie('Store', 'StorePage', 999999998); v3._x = 500; v3._y = 325; this._parent.removeMovieClip(); }; SHORTCUT.onPress = function () { _global.MenuOpen = true; _global.GamePause = true; _global.SkillsOpen = true; var v3 = this._parent._parent.attachMovie('Sheet', 'SheetPage', 999999999); v3._x = 500; v3._y = 325; this._parent.removeMovieClip(); }; if (this._parent.SpiderMode == 1) { CombatLock._visible = false; } SHORTCUT2.onPress = function () { if (this._parent._parent.SpiderMode == 1) { _global.MenuOpen = true; _global.GamePause = true; var v3 = this._parent._parent.attachMovie('Inventory', 'InventoryPage', 999999997); v3._x = 500; v3._y = 325; this._parent.removeMovieClip(); } }; UTILITY.onRelease = function () { BuyAll('Utility', this); }; MAGIC.onRelease = function () { BuyAll('Magic', this); }; ATTACK.onRelease = function () { BuyAll('Attack', this); }; DEFENSE.onRelease = function () { BuyAll('Defense', this); }; } } movieClip 248 Z_BlackLightning1 { frame 1 { this.gotoAndPlay(Math.ceil(Math.random() * 4)); } } movieClip 252 { frame 4 { stop(); } } movieClip 254 HellfireDamageText { } movieClip 257 { } movieClip 259 VenomMissile { } // unknown tag 88 length 68 movieClip 262 VenomAlertText { } movieClip 264 AcidDamageText { } movieClip 266 Z_Acid { } // unknown tag 88 length 62 movieClip 274 { frame 1 { stop(); BTN.onPress = function () { _global.DamageNumbers = !_global.DamageNumbers; if (_global.DamageNumbers == true) { this._parent.gotoAndStop(1); } else { this._parent.gotoAndStop(2); } }; if (_global.DamageNumbers == true) { this.gotoAndStop(1); } else { this.gotoAndStop(2); } } } movieClip 286 { } movieClip 289 { } movieClip 292 { } movieClip 295 { } movieClip 298 { } movieClip 301 { } movieClip 304 { } movieClip 307 { } movieClip 310 { } movieClip 313 { } movieClip 316 { } movieClip 319 { } movieClip 324 { } movieClip 327 { frame 1 { stop(); BTN.onPress = function () { _global.autoQuality = !_global.autoQuality; if (_global.autoQuality == true) { this._parent.gotoAndStop(1); _root._quality = 'high'; _global.Quality = 3; } else { this._parent.gotoAndStop(2); _root._quality = 'low'; _global.Quality = 1; } }; if (_global.autoQuality == true) { this.gotoAndStop(1); } else { this.gotoAndStop(2); } } } movieClip 330 { frame 1 { stop(); BTN.onPress = function () { _global.NumberCrunch = !_global.NumberCrunch; if (_global.NumberCrunch == true) { this._parent.gotoAndStop(2); } else { this._parent.gotoAndStop(1); } }; if (_global.NumberCrunch == true) { this.gotoAndStop(2); } else { this.gotoAndStop(1); } } } movieClip 331 OptionsMenu { frame 1 { function RefreshButtons() { Atk1.gotoAndStop(2); Atk2.gotoAndStop(2); Atk3.gotoAndStop(2); Atk4.gotoAndStop(2); if (_global.AttackSpeedThrottle == 1) { Atk1.gotoAndStop(1); } if (_global.AttackSpeedThrottle == 2) { Atk2.gotoAndStop(1); } if (_global.AttackSpeedThrottle == 4) { Atk3.gotoAndStop(1); } if (_global.AttackSpeedThrottle == 8) { Atk4.gotoAndStop(1); } Cast1.gotoAndStop(2); Cast2.gotoAndStop(2); Cast3.gotoAndStop(2); Cast4.gotoAndStop(2); if (_global.CastSpeedThrottle == 2) { Cast1.gotoAndStop(1); } if (_global.CastSpeedThrottle == 3) { Cast2.gotoAndStop(1); } if (_global.CastSpeedThrottle == 6) { Cast3.gotoAndStop(1); } if (_global.CastSpeedThrottle == 12) { Cast4.gotoAndStop(1); } Multifire1.gotoAndStop(2); Multifire2.gotoAndStop(2); Multifire3.gotoAndStop(2); if (_global.MultifireCondense == 0) { Multifire1.gotoAndStop(1); } if (_global.MultifireCondense == 1) { Multifire2.gotoAndStop(1); } if (_global.MultifireCondense == 2) { Multifire3.gotoAndStop(1); } StarGold1.gotoAndStop(2); StarGold2.gotoAndStop(2); StarGold3.gotoAndStop(2); if (_global.StarGoldCondense == 0) { StarGold1.gotoAndStop(1); } if (_global.StarGoldCondense == 1) { StarGold2.gotoAndStop(1); } if (_global.StarGoldCondense == 2) { StarGold3.gotoAndStop(1); } } EXIT.onPress = function () { _global.SkillsOpen = false; _global.MenuOpen = false; _global.GamePause = false; this._parent.removeMovieClip(); }; Atk1.onPress = function () { _global.AttackSpeedThrottle = 1; RefreshButtons(); }; Atk2.onPress = function () { _global.AttackSpeedThrottle = 2; RefreshButtons(); }; Atk3.onPress = function () { _global.AttackSpeedThrottle = 4; RefreshButtons(); }; Atk4.onPress = function () { _global.AttackSpeedThrottle = 8; RefreshButtons(); }; Cast1.onPress = function () { _global.CastSpeedThrottle = 2; RefreshButtons(); }; Cast2.onPress = function () { _global.CastSpeedThrottle = 3; RefreshButtons(); }; Cast3.onPress = function () { _global.CastSpeedThrottle = 6; RefreshButtons(); }; Cast4.onPress = function () { _global.CastSpeedThrottle = 12; RefreshButtons(); }; Multifire1.onPress = function () { _global.MultifireCondense = 0; RefreshButtons(); }; Multifire2.onPress = function () { _global.MultifireCondense = 1; RefreshButtons(); }; Multifire3.onPress = function () { _global.MultifireCondense = 2; RefreshButtons(); }; StarGold1.onPress = function () { _global.StarGoldCondense = 0; RefreshButtons(); }; StarGold2.onPress = function () { _global.StarGoldCondense = 1; RefreshButtons(); }; StarGold3.onPress = function () { _global.StarGoldCondense = 2; RefreshButtons(); }; RefreshButtons(); } } movieClip 333 { } movieClip 334 MagicSwordIconRed { } movieClip 336 ItemSoldText { } movieClip 338 Z_Discovery2 { } movieClip 340 BleedDamageText { } movieClip 342 PoisonDamageText { } movieClip 344 IgniteDamageText { } // unknown tag 88 length 68 movieClip 347 SkillUnlock2Text { } movieClip 349 StatusEffectText { } movieClip 351 Z_BurningSoulTrail { } movieClip 353 Z_FrozenSoulTrail { } movieClip 355 Z_HolySpiritTrail { } movieClip 357 Z_EvilSpiritTrail { } movieClip 360 Z_BurningSoul { instance of movieClip 77 Z_RedLightning { onClipEvent (load) { if (this._parent.Speed == undefined) { this.stop(); } } } } movieClip 367 Z_Lightning1 { } movieClip 369 Z_FrozenSoul { instance of movieClip 367 Z_Lightning1 { onClipEvent (load) { if (this._parent.Speed == undefined) { this.stop(); } } } } movieClip 376 { } movieClip 378 Z_HolySpirit { instance of movieClip 376 { onClipEvent (load) { if (this._parent.Speed == undefined) { this.stop(); } } } } movieClip 385 { } movieClip 387 Z_EvilSpirit { instance of movieClip 385 { onClipEvent (load) { if (this._parent.Speed == undefined) { this.stop(); } } } } movieClip 389 Z_DarkOrb { instance of movieClip 385 { onClipEvent (load) { if (this._parent.Speed == undefined) { this.stop(); } } } } movieClip 391 Z_DoubleLightning { } movieClip 392 Z_ElectricOrb { instance of movieClip 367 Z_Lightning1 { onClipEvent (load) { if (this._parent.Speed == undefined) { this.stop(); } } } } movieClip 394 Z_TidalWave2 { frame 1 { if (this.Speed == undefined) { stop(); } } } movieClip 395 Z_Invisible { } movieClip 397 { } movieClip 398 Z_Gale { } movieClip 411 Z_Inferno { frame 1 { if (this.Speed == undefined) { stop(); } } } movieClip 425 Z_Large_Fireball { } movieClip 427 Z_Explosion1 { } movieClip 429 Z_Mana_Trap { } movieClip 431 Z_BlueFX4 { } movieClip 433 Z_RedFX4 { } movieClip 437 Z_RedFX3 { } movieClip 441 Z_BlueFX3 { } movieClip 447 Z_LightBeam1 { } movieClip 449 Z_TimeArrow { } movieClip 455 Z_StatPoint { } movieClip 458 Z_Poison1 { } movieClip 460 Z_RedWins { } movieClip 462 Z_BlueWins { } movieClip 464 Z_WindElem1 { } movieClip 466 { } movieClip 467 Gust { instance of movieClip 464 Z_WindElem1 { onClipEvent (enterFrame) { if (this._parent.Speed != undefined) { this._rotation += 21; } } } instance of movieClip 466 { onClipEvent (enterFrame) { if (this._parent.Speed != undefined) { this._rotation -= 37; } } } } movieClip 469 Z_Moonlight { } movieClip 474 Z_TowerBase1 { } movieClip 476 Z_IceBlast { } movieClip 478 Z_Freeze { } movieClip 480 Z_Backlash { } movieClip 482 Z_Feedback { } movieClip 484 { } movieClip 485 Z_Boulder { instance of movieClip 484 { onClipEvent (enterFrame) { if (this._parent.Speed != undefined) { this._rotation += 10; } } } } movieClip 487 Z_Stone { } movieClip 492 Z_ManaRestore2 { } movieClip 497 Z_EarthHeal { } movieClip 502 Z_Golden_Heal { } movieClip 510 Z_Air2 { } movieClip 521 Z_InstaKill1 { } movieClip 523 Z_FrostRing { } movieClip 525 Z_WaterRing { } movieClip 527 Z_FireRing { } movieClip 529 Z_ManaRestore1 { } movieClip 531 Z_Bullet2 { } movieClip 533 Z_Bullet { } movieClip 535 { } movieClip 536 Z_AirCloud { } movieClip 538 ZZ_Mana_Crystal { } movieClip 540 ZZ_Entangle { } movieClip 542 ZZ_Teleport { } movieClip 545 Z_SpiritLance { frame 1 { if (this.Speed == undefined) { stop(); } } } movieClip 547 Z_WindRing { } movieClip 549 Z_FrostRing2 { } movieClip 551 Z_FireRing2 { } movieClip 553 Z_HeadFlameAlchemist { } movieClip 555 Z_ChillingWind { } movieClip 560 Z_Burn1 { } movieClip 562 Z_Stun1 { } movieClip 568 Z_Hellfire { } movieClip 569 Z_HellfireTrail { instance of movieClip 568 Z_Hellfire { onClipEvent (load) { this._rotation = -this._parent._rotation; } } } movieClip 574 Z_Hellfire2 { frame 1 { if (this.Speed == undefined) { stop(); } } } movieClip 576 Z_EnchantedSwordTrailRed { } movieClip 578 Z_ValkyrieTrail { } movieClip 580 Z_EnchantedSwordTrailBlue { } movieClip 584 Z_Conviction { frame 1 { if (this.Speed == undefined) { stop(); } } } movieClip 586 Z_ConvictionFlash { } movieClip 588 Z_Cluster { } movieClip 590 Z_DarkRing1 { } movieClip 592 Z_confusion { } movieClip 594 Z_Discovery { } movieClip 596 Z_Teleporting { } movieClip 598 HealingText { } movieClip 600 MagicDamageText { } movieClip 613 { frame 1 { if (this._parent.Type != undefined) { this.gotoAndPlay(this._parent.Type); } } frame 4 { stop(); } frame 8 { stop(); } frame 12 { stop(); } frame 16 { stop(); } } movieClip 615 PhysicalDamageText { } movieClip 621 { } movieClip 623 { } movieClip 625 { } movieClip 627 { } movieClip 629 { } movieClip 631 { } movieClip 632 { } movieClip 634 { } movieClip 635 { } movieClip 637 { } movieClip 639 { } movieClip 641 { } movieClip 643 { } movieClip 645 { } movieClip 646 TomePile { } // unknown tag 88 length 69 movieClip 656 EvilHolyPath { frame 1 { function GetTome(Type) { var v3 = this._parent.attachMovie('ItemGet', 'ItemGet', _global.Depth + 2150000); ++_global.Depth; v3._x = 500; v3._y = 325; v3.Type = Type; this.removeMovieClip(); } function UnlockType(Type) { h = 0; while (h < this._parent.HeroSkill.length) { Name = this._parent.HeroSkill[h]; if (this._parent['H_' + Name].Type == Type) { this._parent['H_' + Name].Unlock = true; } ++h; } this._parent.ViewSkills(); this.removeMovieClip(); } EVIL.onPress = function () { UnlockType('Evil'); }; HOLY.onPress = function () { UnlockType('Holy'); }; } } movieClip 658 Z_BlackFX3 { } movieClip 660 Z_RedFX5 { } movieClip 663 SkillDescription { frame 1 { this.onEnterFrame = function () { if (this.Description != undefined) { this.DT.text = this.Description; this._x = this._parent._xmouse; this._y = this._parent._ymouse; if (this._x > 300) { this._x = 300; } if (this._x < -480) { this._x = -480; } if (this._y > 200) { this._y = 200; } if (this._y < -300) { this._y = -300; } } else { this._x = 99999; this.DT.text = ''; } }; } } movieClip 665 TomeDT { } movieClip 673 { } movieClip 678 { } movieClip 682 { } movieClip 683 { } movieClip 687 { } movieClip 693 { } movieClip 696 TomeGet { } movieClip 722 { frame 1 { stop(); } } movieClip 725 { } movieClip 726 { frame 1 { stop(); } } movieClip 727 { } // unknown tag 88 length 68 movieClip 734 { } movieClip 736 { } movieClip 738 { } movieClip 741 { } // unknown tag 88 length 62 movieClip 781 { } movieClip 782 { frame 1 { stop(); } frame 28 { stop(); } } movieClip 793 EffectSymbol { } movieClip 796 { } // unknown tag 88 length 63 movieClip 799 ITEMCELL { } movieClip 801 ItemGet { frame 1 { function SpawnItems(Type1, Type2) { RarityTier = 1; X = this._parent[Type1 + 'R' + this._parent[Type1 + 'ItemTier']]; if (X != undefined) { RarityTier = X; trace('RarityTier' + X); ++this._parent[Type1 + 'ItemTier']; } s = 0; while (s < 4) { TempID = this._parent.TotalItemID; T = Type1; if (s > 1) { T = Type2; } this._parent.GenItem(T, X); var v2 = this.attachMovie('ITEMCELL', 'Item' + s, s); v2._x = -244 + 163 * s; v2._y = 0; this._parent.LoadItemCell(v2, 'I_Item' + TempID); v2.ID = TempID; v2._yscale = 125; v2._xscale = 125; v2.onPress = function () { StageRef = this._parent._parent; StageRef.AddInventoryItem(this.ID); var v2 = StageRef.attachMovie('Store', 'StorePage', 999999998); v2._x = 500; v2._y = 325; Xcalc = this._x + this.ItemIconBox._x; Ycalc = this._y + this.ItemIconBox._y; GFX = StageRef['L_' + StageRef['I_Item' + this.ID].GFX].GFX1; StageRef.GraphicEffect('Z_WhiteFX1', {'A': StageRef.grow, 'B': StageRef.spin}, {'Ref': v2, '_x': Xcalc, '_y': Ycalc, 'Life': 25, 'Grow': 25}); StageRef.GraphicEffect(GFX, {'A': StageRef.grow, 'B': StageRef.fadeOut}, {'Ref': v2, '_x': Xcalc, '_y': Ycalc, 'Life': 25, 'Grow': 25, 'FadeOut': 2}); this._parent.removeMovieClip(); }; ++s; } } function SpawnTomes(Type) { TomePower = 1; if (_global.HeroMode) { TomePower = 1; } T1Power = 1; T2Power = 1; T3Power = 1; var T1 = this.attachMovie('TomeGet', 'T1', 1); var T2 = this.attachMovie('TomeGet', 'T2', 2); var T3 = this.attachMovie('TomeGet', 'T3', 3); T3.Type = Type; T2.Type = T3.Type; T1.Type = T3.Type; T3._y = 0; T2._y = 0; T1._y = 0; T1._x = -210; T2._x = 0; T3._x = 210; T1.Tome.gotoAndStop(Type); T2.Tome.gotoAndStop(Type); T3.Tome.gotoAndStop(Type); T1.Frame.gotoAndStop(Type); T2.Frame.gotoAndStop(Type); T3.Frame.gotoAndStop(Type); T1.SkillTypeGFX1.gotoAndStop(Type); T2.SkillTypeGFX1.gotoAndStop(Type); T3.SkillTypeGFX1.gotoAndStop(Type); T1.SkillTypeGFX2.gotoAndStop(Type); T2.SkillTypeGFX2.gotoAndStop(Type); T3.SkillTypeGFX2.gotoAndStop(Type); Luck = this._parent.Skill('H', 'Luck'); Skill3 = ''; Skill2 = ''; Skill1 = ''; Breaker = 0; for (;;) { if (!((Skill1 == '' || this._parent['H_' + this._parent['H_' + Skill1].ParentSkill].Unlock != true) && Breaker < 500)) break; ++Breaker; S = this._parent.HeroSkill[this._parent.RNF(this._parent.HeroSkill.length)]; if (this._parent['H_' + S].Type == Type) { Skill1 = S; } if (this._parent['H_' + S].Unlock == true && Math.random() * 100 < Luck + 21) { Skill1 = ''; } } Breaker = 0; for (;;) { if (!((Skill2 == '' || Skill2 == Skill1 || this._parent['H_' + this._parent['H_' + Skill2].ParentSkill].Unlock != true) && Breaker < 500)) break; ++Breaker; S = this._parent.HeroSkill[this._parent.RNF(this._parent.HeroSkill.length)]; if (this._parent['H_' + S].Type == Type) { Skill2 = S; } if (this._parent['H_' + S].Unlock == true && Math.random() * 100 < Luck + 21) { Skill2 = ''; } } Breaker = 0; for (;;) { if (!((Skill3 == '' || Skill3 == Skill1 || Skill3 == Skill2 || this._parent['H_' + this._parent['H_' + Skill3].ParentSkill].Unlock != true) && Breaker < 500)) break; ++Breaker; S = this._parent.HeroSkill[this._parent.RNF(this._parent.HeroSkill.length)]; if (this._parent['H_' + S].Type == Type) { Skill3 = S; } if (this._parent['H_' + S].Unlock == true && Math.random() * 100 < Luck + 21) { Skill3 = ''; } } T1.Skill = Skill1; T2.Skill = Skill2; T3.Skill = Skill3; if (this._parent['H_' + Skill1].Unlock) { T1.Lock1._visible = false; T1Power = 4; } else { T1.SkillValue1._alpha = 50; } if (this._parent['H_' + Skill2].Unlock) { T2.Lock1._visible = false; T2Power = 4; } else { T2.SkillValue1._alpha = 50; } if (this._parent['H_' + Skill3].Unlock) { T3.Lock1._visible = false; T3Power = 4; } else { T3.SkillValue1._alpha = 50; } T1.DT.text = this._parent['H_' + Skill1].SkillName; T2.DT.text = this._parent['H_' + Skill2].SkillName; T3.DT.text = this._parent['H_' + Skill3].SkillName; T1.SkillValue1.text = this._parent.Skill('H', Skill1); T2.SkillValue1.text = this._parent.Skill('H', Skill2); T3.SkillValue1.text = this._parent.Skill('H', Skill3); T1.SkillValue2.text = this._parent.Skill('H', Skill1, T1Power); T2.SkillValue2.text = this._parent.Skill('H', Skill2, T2Power); T3.SkillValue2.text = this._parent.Skill('H', Skill3, T3Power); T1.Info = this._parent['H_' + Skill1].Info; T2.Info = this._parent['H_' + Skill2].Info; T3.Info = this._parent['H_' + Skill3].Info; T1.BTN.onRollOver = function () { SkillDescribe.Description = this._parent.Info; }; T1.BTN.onRollOut = function () { SkillDescribe.Description = undefined; }; T2.BTN.onRollOver = function () { SkillDescribe.Description = this._parent.Info; }; T2.BTN.onRollOut = function () { SkillDescribe.Description = undefined; }; T3.BTN.onRollOver = function () { SkillDescribe.Description = this._parent.Info; }; T3.BTN.onRollOut = function () { SkillDescribe.Description = undefined; }; T1.BTN.onPress = function () { StageRef = this._parent._parent._parent; StageRef[Type + 'Total'] += T1Power; StageRef['H_' + Skill1].Unlock = true; StageRef['H_' + Skill1].SkillLevel += T1Power; StageRef.Trinity1[StageRef['HeroKey_' + Skill1]] += T1Power; Xcalc = T1._x + T1.Tome._x; Ycalc = T1._y + T1.Tome._y; var v3 = StageRef.attachMovie('Store', 'StorePage', 999999998); v3._x = 500; v3._y = 325; StageRef.GraphicEffect('TomePile', {'A': StageRef.grow, 'B': StageRef.fadeOut}, {'Ref': v3, '_x': Xcalc, '_y': Ycalc, 'Life': 25, 'Grow': 25}); v3['fx' + (_global.Depth - 1)].gotoAndStop(Type); StageRef.GraphicEffect('TomeDT', {'A': StageRef.grow, 'B': StageRef.fadeOut}, {'Ref': v3, '_x': Xcalc, '_y': Ycalc + 80, 'Life': 25, 'Grow': 25}); v3['fx' + (_global.Depth - 1)].DT.text = StageRef['H_' + Skill1].SkillName; this._parent._parent.removeMovieClip(); }; T2.BTN.onPress = function () { StageRef = this._parent._parent._parent; StageRef[Type + 'Total'] += T2Power; StageRef['H_' + Skill2].Unlock = true; StageRef['H_' + Skill2].SkillLevel += T2Power; StageRef.Trinity1[StageRef['HeroKey_' + Skill2]] += T2Power; Xcalc = T2._x + T2.Tome._x; Ycalc = T2._y + T2.Tome._y; var v3 = StageRef.attachMovie('Store', 'StorePage', 999999998); v3._x = 500; v3._y = 325; StageRef.GraphicEffect('TomePile', {'A': StageRef.grow, 'B': StageRef.fadeOut}, {'Ref': v3, '_x': Xcalc, '_y': Ycalc, 'Life': 25, 'Grow': 25}); v3['fx' + (_global.Depth - 1)].gotoAndStop(Type); StageRef.GraphicEffect('TomeDT', {'A': StageRef.grow, 'B': StageRef.fadeOut}, {'Ref': v3, '_x': Xcalc, '_y': Ycalc + 80, 'Life': 25, 'Grow': 25}); v3['fx' + (_global.Depth - 1)].DT.text = StageRef['H_' + Skill2].SkillName; this._parent._parent.removeMovieClip(); }; T3.BTN.onPress = function () { StageRef = this._parent._parent._parent; StageRef[Type + 'Total'] += T3Power; StageRef['H_' + Skill3].Unlock = true; StageRef['H_' + Skill3].SkillLevel += T3Power; StageRef.Trinity1[StageRef['HeroKey_' + Skill3]] += T3Power; Xcalc = T3._x + T3.Tome._x; Ycalc = T3._y + T3.Tome._y; var v3 = StageRef.attachMovie('Store', 'StorePage', 999999998); v3._x = 500; v3._y = 325; StageRef.GraphicEffect('TomePile', {'A': StageRef.grow, 'B': StageRef.fadeOut}, {'Ref': v3, '_x': Xcalc, '_y': Ycalc, 'Life': 25, 'Grow': 25}); v3['fx' + (_global.Depth - 1)].gotoAndStop(Type); StageRef.GraphicEffect('TomeDT', {'A': StageRef.grow, 'B': StageRef.fadeOut}, {'Ref': v3, '_x': Xcalc, '_y': Ycalc + 80, 'Life': 25, 'Grow': 25}); v3['fx' + (_global.Depth - 1)].DT.text = StageRef['H_' + Skill3].SkillName; this._parent._parent.removeMovieClip(); }; } if (this.Type == 'Defense') { ItemType.text = 'DEFENSE TOME'; SpawnTomes('Defense'); } if (this.Type == 'Attack') { ItemType.text = 'ATTACK TOME'; SpawnTomes('Attack'); } if (this.Type == 'Magic') { ItemType.text = 'MAGIC TOME'; SpawnTomes('Magic'); } if (this.Type == 'Utility') { ItemType.text = 'UTILITY TOME'; SpawnTomes('Utility'); } if (this.Type == 'Evil') { ItemType.text = 'EVIL TOME'; SpawnTomes('Evil'); } if (this.Type == 'Holy') { ItemType.text = 'HOLY TOME'; SpawnTomes('Holy'); } if (this.Type == 'Special') { ItemType.text = 'SPECIAL TOME'; SpawnTomes('Special'); } if (this.Type == 'PotionBomb') { ItemType.text = 'POTION/BOMB'; SpawnItems('Potion', 'Bomb'); } if (this.Type == 'BowMagic') { ItemType.text = 'BOW/MAGIC'; SpawnItems('Bow', 'Wand'); } if (this.Type == 'SwordAxe') { ItemType.text = 'SWORD/AXE'; SpawnItems('Sword', 'Axe'); } if (this.Type == 'ShieldCharm') { ItemType.text = 'SHIELD/CHARM'; SpawnItems('Shield', 'Charm'); } if (this.Type == 'LegendaryLegendary') { ItemType.text = 'Legendary Item!'; SpawnItems('Legendary', 'Legendary'); } var SkillDescribe = this.attachMovie('SkillDescription', 'SkillDescribe', 20000); SkillDescribe._x = -10000; SkillDescribe.DT.text = ''; } } movieClip 853 SaveMeText { frame 1 { this.gotoAndStop(Math.ceil(Math.random() * 25)); } } movieClip 950 ComplainText { frame 1 { this.gotoAndStop(Math.ceil(Math.random() * 50)); } } movieClip 952 BlackCrystal { } movieClip 955 BlackShrine { } movieClip 957 PurpleCrystal { } movieClip 959 PurpleShrine { } movieClip 961 BrownCrystal { } movieClip 963 BrownShrine { } movieClip 965 WhiteCrystal { } movieClip 967 WhiteShrine { } movieClip 970 { } movieClip 972 StaminaShrine { } movieClip 975 { } movieClip 977 ManaShrine { } movieClip 979 { } movieClip 981 HealthShrine { } movieClip 983 { } movieClip 984 DemonFootIcon { } movieClip 986 { } movieClip 987 DemonEyeIcon { } movieClip 988 DemonHeartIcon { } movieClip 993 RockSmash { frame 5 { this.removeMovieClip(); } } movieClip 995 KnightSword { } movieClip 1003 KnightUnit { frame 1 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 20)); } } frame 6 { if (Math.random() * 100 < 50) { this._xscale *= -1; } } } movieClip 1005 { } movieClip 1006 SpinningPentagramBlue { frame 1 { this._yscale = 70; } instance of movieClip 1005 { onClipEvent (enterFrame) { this._rotation += 3; } } } movieClip 1008 Portal { } movieClip 1011 Z_ElectricField { frame 1 { this.onEnterFrame = function () { this._rotation += 3; }; } } movieClip 1014 { } movieClip 1016 { } movieClip 1018 { } movieClip 1019 PlayerUnit { frame 1 { stop(); } frame 4 { stop(); } } movieClip 1020 SuperDecoy { } movieClip 1021 SuperDecoyIcon { } movieClip 1023 { } movieClip 1024 SpinningPentagram { frame 1 { this._yscale = 70; } instance of movieClip 1023 { onClipEvent (enterFrame) { this._rotation += 3; } } } movieClip 1026 ExplosiveBarrel { } movieClip 1029 { } movieClip 1031 { } movieClip 1043 GiantSpiderUnit { frame 1 { if (_global.SpiderShield != true) { this.Shield._visible = false; } } frame 1 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 75)); } } frame 15 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 75)); } } frame 30 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 75)); } } frame 45 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 75)); } } frame 61 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 75)); } } frame 76 { gotoAndPlay(1); } instance of movieClip 1029 { onClipEvent (enterFrame) { this._rotation += 2; } } frame 83 { gotoAndPlay('Hurt'); } } movieClip 1063 GazerUnit { frame 1 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 10 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 20 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 30 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 40 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 50 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 60 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 72 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 74 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } } movieClip 1066 { frame 1 { gotoAndStop(Math.ceil(Math.random() * 2)); this._rotation = Math.random() * 360; } } movieClip 1070 { frame 1 { gotoAndStop(Math.ceil(Math.random() * 3)); this._rotation = Math.random() * 360; } } movieClip 1071 SpawningGround { } movieClip 1091 { } movieClip 1093 MegaGem { instance of movieClip 1091 { onClipEvent (load) { this.gotoAndPlay(1); } } instance of movieClip 1091 { onClipEvent (load) { this.gotoAndPlay(11); } } instance of movieClip 1091 { onClipEvent (load) { this.gotoAndPlay(3); } } instance of movieClip 1091 { onClipEvent (load) { this.gotoAndPlay(5); } } instance of movieClip 1091 { onClipEvent (load) { this.gotoAndPlay(7); } } instance of movieClip 1091 { onClipEvent (load) { this.gotoAndPlay(9); } } instance of movieClip 1091 { onClipEvent (load) { this.gotoAndPlay(13); } } instance of movieClip 1091 { onClipEvent (load) { this.gotoAndPlay(15); } } } movieClip 1096 { } movieClip 1106 MaulerUnit { frame 1 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 120)); } } frame 25 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 120)); } } frame 50 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 120)); } } frame 75 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 120)); } } frame 100 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 120)); } } } movieClip 1113 SplitterUnit { frame 1 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 14 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 28 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 42 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 56 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 70 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } } movieClip 1118 Lever { frame 1 { stop(); } frame 4 { stop(); } } movieClip 1120 DoorH { } movieClip 1123 RatUnit { frame 1 { if (this.Frozen != true) { gotoAndPlay(Math.round(Math.random() * 15)); } } frame 35 { if (this.Frozen != true) { gotoAndPlay(Math.round(Math.random() * 15) + 35); } } } movieClip 1125 SpawningPool { } movieClip 1128 { frame 1 { this._rotation = 180 * Math.round(Math.random() * 2); } } movieClip 1131 { frame 1 { if (_global.Level > 10) { gotoAndStop('DarkDirt'); } else { stop(); } } } movieClip 1133 { } movieClip 1135 { frame 1 { stop(); } } movieClip 1137 { frame 1 { stop(); } } movieClip 1139 { frame 1 { stop(); } } movieClip 1141 { frame 1 { stop(); } } movieClip 1142 { } movieClip 1151 { frame 1 { gotoAndStop(Math.ceil(Math.random() * 5)); this._rotation = Math.round(Math.random() * 20) * 90; } } movieClip 1154 { frame 1 { if (_global.Level > 10) { gotoAndStop('DarkWall'); } else { if (this.Rune == true) { gotoAndStop('RuneWall'); } else { stop(); } } } } movieClip 1165 { frame 1 { gotoAndStop(Math.ceil(Math.random() * 5)); } } movieClip 1169 { frame 1 { gotoAndStop(Math.ceil(Math.random() * 10)); } } movieClip 1170 { frame 1 { gotoAndStop(_global.TileSet); } } movieClip 1192 { frame 1 { gotoAndStop(Math.ceil(Math.random() * 18)); this._rotation += Math.round(Math.random() * 20) * 90; } } movieClip 1193 FloorTile { frame 1 { stop(); } } movieClip 1199 { } movieClip 1202 WallBomb { frame 1 { stop(); } instance asfasdfsad of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance adsfasdf of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance dafsfdsasfd of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } frame 6 { this.removeMovieClip(); } } movieClip 1207 { } movieClip 1210 FragBomb { frame 1 { stop(); } instance asfasdfsad of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance adsfasdf of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance dafsfdsasfd of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } frame 6 { this.removeMovieClip(); } } movieClip 1213 { } movieClip 1214 PurplePotion { } movieClip 1215 PurplePotionIcon { } movieClip 1217 BlackPotion { } movieClip 1218 BlackPotionIcon { } movieClip 1220 YellowPotion { } movieClip 1221 YellowPotionIcon { } movieClip 1237 { } movieClip 1238 MiningPickIcon { } movieClip 1240 { } movieClip 1241 FireWandIcon { } movieClip 1243 Shard { } movieClip 1245 Boulder { frame 1 { gotoAndStop(Math.ceil(Math.random() * 2)); } } movieClip 1247 { } movieClip 1248 HolyChaliceIcon { } movieClip 1253 Mine { frame 1 { stop(); } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 17; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 17; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 21; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 5; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } frame 4 { this.removeMovieClip(); } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 17; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 21; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 5; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation -= 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } } // unknown tag 88 length 67 movieClip 1259 { } movieClip 1260 { } movieClip 1261 { } movieClip 1265 { } movieClip 1279 { } movieClip 1280 LootBag { frame 1 { this._rotation -= Math.random() * 25 + 5; } } movieClip 1282 Elixer { } // unknown tag 88 length 68 // unknown tag 88 length 101 movieClip 1297 { } movieClip 1310 { } movieClip 1312 { } movieClip 1314 { } movieClip 1315 { } movieClip 1318 { } movieClip 1320 { } // unknown tag 88 length 117 movieClip 1327 Mana_Surge { } movieClip 1328 { frame 1 { if (this.Speed == undefined) { stop(); } } } movieClip 1331 Z_CelticCircle { } movieClip 1333 Z_BlueFX1 { } movieClip 1335 Z_DimensionGate { } movieClip 1337 Z_BlueFX2 { } movieClip 1339 Z_Golden_Sword { } movieClip 1341 PurpleStaff { } movieClip 1345 { } movieClip 1346 { frame 1 { stop(); } } movieClip 1347 PlayerUnitGold { } movieClip 1349 Z_Spear3 { } movieClip 1350 GoldenBow { } movieClip 1352 RabbitCharm { } movieClip 1353 RabbitCharmIcon { } movieClip 1355 { } movieClip 1356 Z_LavaBomb { instance of movieClip 1355 { onClipEvent (enterFrame) { if (this._parent.Speed != undefined) { this._rotation += 15; } } } } movieClip 1359 GoldCoin { } movieClip 1360 GoldCoinsIcon { } movieClip 1362 Z_Golden_Hammer { } movieClip 1365 Z_ManaCrystal { } movieClip 1367 ZZ_CTS_Staff { } movieClip 1368 { } movieClip 1370 FrostRing { } movieClip 1371 FrostNovaIcon { } movieClip 1372 { } movieClip 1373 WizardScene { } movieClip 1375 { frame 1 { if (_global.HeroMode != true) { this.gotoAndStop(2); } else { stop(); } } } movieClip 1385 { } movieClip 1389 { } movieClip 1390 { } movieClip 1393 { } movieClip 1394 Store { frame 1 { function HeroBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { ShopRef._parent.Trinity1[ShopRef._parent.HeroKey] = true; _global.HeroMode = true; ShopRef._parent.HeroUnlock = true; _global.StarCount += ShopRef._parent.StarPower; _global.GoldCount += ShopRef._parent.GoldPower; ShopRef._parent.Trinity1[ShopRef._parent.GoldKey] += ShopRef._parent.GoldPower; ShopRef._parent.Trinity1[ShopRef._parent.StarKey] += ShopRef._parent.StarPower; _global.TomeTokens = 5; ShopRef._parent.HHP = ShopRef._parent.HMaxHP; var v3 = ShopRef._parent.attachMovie('WizardScene', 'WizardScene', _global.Depth + 2151100); ++_global.Depth; v3._x = 500; v3._y = 325; v3.onEnterFrame = function () { this._xscale *= 1.04; this._yscale *= 1.04; this._alpha -= 3; if (this._alpha < 0) { this.removeMovieClip(); } }; var v4 = ShopRef._parent.attachMovie('EnhanceSkill', 'EnhanceSkill', _global.Depth + 2151040); ++_global.Depth; v4._x = 500; v4._y = 325; v4.UsesRemaining = 1; ShopRef.removeMovieClip(); } } function BuyItem(Type1, Type2) { Type = Type1 + Type2; cost = this._parent[Type + 'Val']; if (Type1 == 'Legendary') { cost = 0; } if (_global.GoldCount >= cost) { _global.GoldCount -= cost; this._parent.Trinity1[this._parent.GoldKey] -= cost; ++this._parent[Type + 'Buy']; this._parent[Type + 'Val'] = Math.ceil(Math.ceil(50 + this._parent[Type + 'Buy'] * 50) * (100 - this._parent.Skill('H', 'ItemPriceReductionPcnt')) / 100); var v3 = this._parent.attachMovie('ItemGet', 'ItemGet', _global.Depth + 2150000); ++_global.Depth; v3._x = 500; v3._y = 325; v3.Type = Type; v3.Type1 = Type1; v3.Type2 = Type2; this.removeMovieClip(); } } function BuyTome(Type) { cost = this._parent[Type + 'TomeVal']; if (_global.TomeTokens > 0) { cost = 0; } if (_global.GoldCount >= cost) { _global.GoldCount -= cost; this._parent.Trinity1[this._parent.GoldKey] -= cost; if (_global.TomeTokens <= 0) { ++this._parent[Type + 'TomeBuy']; this._parent[Type + 'TomeVal'] = Math.ceil(100 - this._parent.Skill('H', 'BookPriceReductionFlat') + this._parent[Type + 'TomeBuy'] * 75); } else { --_global.TomeTokens; } var v3 = this._parent.attachMovie('ItemGet', 'ItemGet', _global.Depth + 2150000); ++_global.Depth; v3._x = 500; v3._y = 325; v3.Type = Type; this.removeMovieClip(); } } if (this._parent.HighestStage >= 100) { Stage100Unlock._visible = false; } if (this._parent.HighestStage >= 250) { Stage250Unlock._visible = false; } if (_global.HeroMode == true) { HeroModeUnlock._visible = false; } POTIONBOMB_btn.onRelease = function () { if (this._parent._parent.PotionItemTier < 5) { BuyItem('Potion', 'Bomb'); } }; BOWMAGIC_btn.onRelease = function () { if (this._parent._parent.BowItemTier < 5) { BuyItem('Bow', 'Magic'); } }; SWORDAXE_btn.onRelease = function () { if (this._parent._parent.SwordItemTier < 5) { BuyItem('Sword', 'Axe'); } }; SHIELDCHARM_btn.onRelease = function () { if (this._parent._parent.ShieldItemTier < 5) { BuyItem('Shield', 'Charm'); } }; UTILITYTOME_btn.onRelease = function () { BuyTome('Utility'); }; MAGICTOME_btn.onRelease = function () { BuyTome('Magic'); }; ATTACKTOME_btn.onRelease = function () { BuyTome('Attack'); }; DEFENSETOME_btn.onRelease = function () { BuyTome('Defense'); }; SPECIALTOME_btn.onRelease = function () { if (_global.HeroMode == true) { BuyTome('Special'); } else { R = this._parent._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } }; EVILTOME_btn.onRelease = function () { if (this._parent._parent.HighestStage >= 100) { BuyTome('Evil'); } }; HOLYTOME_btn.onRelease = function () { if (this._parent._parent.HighestStage >= 100) { BuyTome('Holy'); } }; HEROSMODE_btn.onRelease = function () { HeroBuy({'success': false}); if (this._parent._parent.HeroUnlock != true) { this._parent._parent.kongregate.mtx.purchaseItems(['herobundle'], HeroBuy); } }; HEROSHOP_btn.onRelease = function () { if (this._parent._parent.HeroUnlock == true) { var v3 = ShopRef._parent.attachMovie('HeroicShop', 'HeroicShop', _global.Depth + 2158888); ++_global.Depth; v3._x = 500; v3._y = 325; ShopRef.removeMovieClip(); } else { R = this._parent._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } }; starpower_txt.text = '(' + this._parent.StarPower * 2 + ' stars!)'; goldpower_txt.text = '(' + this._parent.GoldPower * 2 + ' gold!)'; ShopRef = this; } frame 1 { if (this._parent.HeroUnlock == false) { HeroModeActive._visible = false; } } frame 1 { function LoadSequence(Type, Target) { StageRef = this._parent; Target.R1.gotoAndStop(StageRef[Type + 'R1']); Target.R2.gotoAndStop(StageRef[Type + 'R2']); Target.R3.gotoAndStop(StageRef[Type + 'R3']); Target.R4.gotoAndStop(StageRef[Type + 'R4']); Tier = StageRef[Type + 'ItemTier']; if (Tier > 1) { Target.R1._alpha = 25; } if (Tier > 2) { Target.R2._alpha = 25; } if (Tier > 3) { Target.R3._alpha = 25; } if (Tier > 4) { Target.R4._alpha = 25; } Target['R' + Tier]._y -= 1; Target['R' + Tier]._xscale = 110; Target['R' + Tier]._yscale = 110; Target['R' + Tier]._alpha = 100; Target.Bar._x = Target['R' + Tier]._x; if (Tier > 4) { Target.Bar._visible = false; } } LoadSequence('Shield', RarityPanel1); LoadSequence('Sword', RarityPanel2); LoadSequence('Bow', RarityPanel3); LoadSequence('Potion', RarityPanel4); } frame 1 { DEFENSEDT.text = this._parent.DefenseTotal + ' DEFENSE'; ATTACKDT.text = this._parent.AttackTotal + ' ATTACK'; MAGICDT.text = this._parent.MagicTotal + ' MAGIC'; UTILITYDT.text = this._parent.UtilityTotal + ' UTILITY'; SPECIALDT.text = this._parent.SpecialTotal + ' SPECIAL'; EVILDT.text = this._parent.EvilTotal + ' EVIL'; HOLYDT.text = this._parent.HolyTotal + ' HOLY'; PriceScale = _global.StorePrices / 100; TomeTotal = this._parent.DefenseTomeBuy + this._parent.AttackTomeBuy + this._parent.MagicTomeBuy + this._parent.UtilityTomeBuy; this._parent.DefenseTomeVal = Math.ceil(PriceScale * (250 + this._parent.DefenseTomeBuy * (35 + TomeTotal))) - this._parent.Skill('H', 'BookPriceReductionFlat'); this._parent.AttackTomeVal = Math.ceil(PriceScale * (250 + this._parent.AttackTomeBuy * (35 + TomeTotal))) - this._parent.Skill('H', 'BookPriceReductionFlat'); this._parent.MagicTomeVal = Math.ceil(PriceScale * (250 + this._parent.MagicTomeBuy * (35 + TomeTotal))) - this._parent.Skill('H', 'BookPriceReductionFlat'); this._parent.UtilityTomeVal = Math.ceil(PriceScale * (250 + this._parent.UtilityTomeBuy * (35 + TomeTotal))) - this._parent.Skill('H', 'BookPriceReductionFlat'); this._parent.SpecialTomeVal = Math.ceil(PriceScale * (1000 + this._parent.SpecialTomeBuy * 1000)) - this._parent.Skill('H', 'BookPriceReductionFlat'); HolyEvil = this._parent.HolyTomeBuy + this._parent.EvilTomeBuy; this._parent.EvilTomeVal = Math.ceil(PriceScale * (500 + HolyEvil * 250)) - this._parent.Skill('H', 'BookPriceReductionFlat'); this._parent.HolyTomeVal = Math.ceil(PriceScale * (500 + HolyEvil * 250)) - this._parent.Skill('H', 'BookPriceReductionFlat'); if (this._parent.DefenseTomeVal < 0) { this._parent.DefenseTomeVal = 0; } if (this._parent.AttackTomeVal < 0) { this._parent.AttackTomeVal = 0; } if (this._parent.MagicTomeVal < 0) { this._parent.MagicTomeVal = 0; } if (this._parent.UtilityTomeVal < 0) { this._parent.UtilityTomeVal = 0; } if (this._parent.SpecialTomeVal < 0) { this._parent.SpecialTomeVal = 0; } if (this._parent.EvilTomeVal < 0) { this._parent.EvilTomeVal = 0; } if (this._parent.HolyTomeVal < 0) { this._parent.HolyTomeVal = 0; } DefenseCost_txt.text = this._parent.DefenseTomeVal; AttackCost_txt.text = this._parent.AttackTomeVal; MagicCost_txt.text = this._parent.MagicTomeVal; UtilityCost_txt.text = this._parent.UtilityTomeVal; SpecialCost_txt.text = this._parent.SpecialTomeVal; EvilCost_txt.text = this._parent.EvilTomeVal; HolyCost_txt.text = this._parent.HolyTomeVal; Tokens_txt.text = ''; if (_global.TomeTokens > 0) { Tokens_txt.text = 'You may select ' + _global.TomeTokens + ' free tomes'; DefenseCost_txt.text = 'FREE!'; AttackCost_txt.text = 'FREE!'; MagicCost_txt.text = 'FREE!'; UtilityCost_txt.text = 'FREE!'; SpecialCost_txt.text = 'FREE!'; EvilCost_txt.text = 'FREE!'; HolyCost_txt.text = 'FREE!'; } StagePcnt = (100 + this._parent.CurrentStage * 2) / 100; cost = 200 + this._parent.ShieldCharmBuy * 25; cost *= this._parent.ShieldItemTier / 2; cost *= 0.5 + this._parent['ShieldR' + this._parent.ShieldItemTier] / 2; cost *= StagePcnt; cost *= PriceScale * (100 - this._parent.Skill('H', 'ItemPriceReductionPcnt')) / 100; this._parent.ShieldCharmVal = Math.floor(cost); cost = 200 + this._parent.SwordAxeBuy * 25; cost *= this._parent.SwordItemTier / 2; cost *= 0.5 + this._parent['SwordR' + this._parent.SwordItemTier] / 2; cost *= StagePcnt; cost *= PriceScale * (100 - this._parent.Skill('H', 'ItemPriceReductionPcnt')) / 100; this._parent.SwordAxeVal = Math.floor(cost); cost = 200 + this._parent.BowMagicBuy * 25; cost *= this._parent.BowItemTier / 2; cost *= 0.5 + this._parent['BowR' + this._parent.BowItemTier] / 2; cost *= StagePcnt; cost *= PriceScale * (100 - this._parent.Skill('H', 'ItemPriceReductionPcnt')) / 100; this._parent.BowMagicVal = Math.floor(cost); cost = 200 + this._parent.PotionBombBuy * 25; cost *= this._parent.PotionItemTier / 2; cost *= 0.5 + this._parent['PotionR' + this._parent.PotionItemTier] / 2; cost *= StagePcnt; cost *= PriceScale * (100 - this._parent.Skill('H', 'ItemPriceReductionPcnt')) / 100; this._parent.PotionBombVal = Math.floor(cost); if (this._parent.ShieldItemTier < 5) { ShieldSoldOut._visible = false; } if (this._parent.SwordItemTier < 5) { SwordSoldOut._visible = false; } if (this._parent.BowItemTier < 5) { BowSoldOut._visible = false; } if (this._parent.PotionItemTier < 5) { PotionSoldOut._visible = false; } ShieldCharmCost_txt.text = this._parent.ShieldCharmVal; SwordAxeCost_txt.text = this._parent.SwordAxeVal; BowMagicCost_txt.text = this._parent.BowMagicVal; PotionBombCost_txt.text = this._parent.PotionBombVal; Gold_txt.text = _global.GoldCount; EXIT.onPress = function () { _global.GamePause = false; _global.MenuOpen = false; this._parent.removeMovieClip(); }; PAGE2.onPress = function () { if (this._parent._parent.HighestStage >= 250) { _global.MenuOpen = true; _global.GamePause = true; var v3 = this._parent._parent.attachMovie('StorePage2', 'StorePage2', 999999988); v3._x = 500; v3._y = 325; this._parent.removeMovieClip(); } }; } } movieClip 1586 TauntText { frame 1 { this.gotoAndStop(Math.ceil(Math.random() * 154)); } } movieClip 1588 Z_BlackFX2 { } movieClip 1590 Z_PurpleFX2 { } movieClip 1592 Z_BrownFX2 { } movieClip 1594 Z_WhiteFX2 { } movieClip 1596 Z_YellowFX2 { } movieClip 1598 Z_RedFX2 { } movieClip 1600 Z_BlackFX1 { } movieClip 1602 Z_PurpleFX1 { } movieClip 1604 Z_WhiteFX1 { } movieClip 1606 Z_BrownFX1 { } movieClip 1608 Z_YellowFX1 { } movieClip 1610 Z_RedFX1 { } movieClip 1611 Explosion { frame 3 { this.removeMovieClip(); } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 17; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 21; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 5; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation -= 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } } movieClip 1612 FrostExplosion { frame 3 { this.removeMovieClip(); } } movieClip 1614 ArrowHit { } movieClip 1615 LightningIcon { } movieClip 1617 Z_IceFX2 { } movieClip 1621 Burn { frame 4 { this.removeMovieClip(); } } movieClip 1623 Z_IceFX { } movieClip 1625 SpawnRing { } movieClip 1630 Fireball { } movieClip 1631 FireballIcon { instance of movieClip 1630 Fireball { onClipEvent (load) { stop(); } } } movieClip 1637 Freeze { frame 1 { this._rotation = Math.random() * 360; gotoAndStop(Math.ceil(Math.random() * 5)); } } movieClip 1639 ExplodeIcon { instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 21; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 5; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } instance of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 15; } } } movieClip 1641 { } movieClip 1642 ExplodeTomeIcon { } movieClip 1644 { } movieClip 1645 FrostTomeIcon { } movieClip 1647 { } movieClip 1648 FrostNovaTomeIcon { } movieClip 1650 { } movieClip 1651 FireballTomeIcon { } movieClip 1656 Z_Dash1 { } movieClip 1658 DashIcon { } movieClip 1660 { } movieClip 1661 DashTomeIcon { } movieClip 1663 { } movieClip 1664 LightningTomeIcon { } movieClip 1666 Z_EarthRing1 { } movieClip 1668 Z_Consecrate { } movieClip 1670 Z_Acorn { } movieClip 1679 Z_Fire_Mine { } movieClip 1682 Z_IceShard { } movieClip 1683 Z_Bow4 { } movieClip 1685 GreenStaff { } movieClip 1687 RedStaff { } movieClip 1701 Z_Fireball { } movieClip 1704 { } movieClip 1705 Z_Axe { } movieClip 1707 Z_PoisonOrb { } movieClip 1709 Z_Obsidian_Sword { } movieClip 1711 Z_Sword2 { frame 1 { stop(); } } movieClip 1714 { } movieClip 1715 Z_Scythe1 { } movieClip 1717 Z_Axe2 { } movieClip 1722 Z_ValkyrieSpear { } movieClip 1724 Z_Spear2 { } movieClip 1726 Z_Spear { } movieClip 1728 Z_Musket { } movieClip 1730 Z_Bow3 { } movieClip 1732 Z_Arrow2 { } movieClip 1734 Z_Bow2 { } movieClip 1736 Z_Mace1 { } movieClip 1738 Z_Arrow3 { } movieClip 1740 Z_Bow1 { } movieClip 1742 Z_EvilWand { } movieClip 1743 Z_ClusterBomb { instance of movieClip 24 { onClipEvent (enterFrame) { if (this._parent.Speed != undefined) { this._rotation += 15; } } } } movieClip 1747 { } movieClip 1748 { } movieClip 1760 { frame 1 { stop(); this.onEnterFrame = function () { if (Key.isDown(16)) { this.gotoAndStop(2); } else { if (Key.isDown(17)) { this.gotoAndStop(3); } else { this.gotoAndStop(1); } } }; } } movieClip 1761 BANNEDSheet { frame 1 { RETURN.onPress = function () { var v2 = this._parent._parent.attachMovie('Sheet2', 'SheetPage', 999999988); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; Stars_txt.text = _global.StarCount; var SkillDescribe = this.attachMovie('SkillDescription', 'SkillDescribe', 20000); SkillDescribe._x = -10000; SkillDescribe.DT.text = ''; ObjectDepth = 0; Column = 0; BANNEDNumber = 0; TotalSkills = this._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent.HeroSkill[i]; SkillType = this._parent['H_' + SkillID].Type; if (SkillType == 'BANNED') { SkillCost = this._parent['H_' + SkillID].Cost; SkillLevel = this._parent['H_' + SkillID].SkillLevel; SkillName = this._parent['H_' + SkillID].SkillName; SkillVal = this._parent.Skill('H', SkillID); var SkillNode = this.attachMovie('SkillPanel', 'SN' + ObjectDepth, ObjectDepth); ++ObjectDepth; SkillNode.Category = 'BANNED'; SkillNode.SkillType = SkillType; SkillNode._x = this[SkillType + 'Shell']._x - 350 + Column * 325; SkillNode._y = -275 + this[SkillType + 'Number']; this[SkillType + 'Number'] += 55; Num = 550; if (Column == 0) { Num = 400; } if (this[SkillType + 'Number'] > Num) { this[SkillType + 'Number'] = 0; ++Column; } SkillNode.SkillID = SkillID; SkillNode.SkillName_txt.text = SkillName; SkillNode.SkillCost_txt.text = SkillCost; SkillNode.SkillValue_txt.text = SkillVal; SkillNode.Description = this._parent['H_' + SkillID].Info; if (this._parent['H_' + SkillID].Unlock) { SkillNode.BTN.onRollOver = function () { SkillDescribe.Description = this._parent.Description; }; SkillNode.BTN.onRollOut = function () { SkillDescribe.Description = undefined; }; } } ++i; } } } movieClip 1765 { } movieClip 1766 { } movieClip 1768 SpecialSheet { frame 1 { RETURN.onPress = function () { var v2 = this._parent._parent.attachMovie('Sheet2', 'SheetPage', 999999988); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; Stars_txt.text = _global.StarCount; var SkillDescribe = this.attachMovie('SkillDescription', 'SkillDescribe', 20000); SkillDescribe._x = -10000; SkillDescribe.DT.text = ''; ObjectDepth = 0; Column = 0; SpecialNumber = 0; TotalSkills = this._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent.HeroSkill[i]; SkillType = this._parent['H_' + SkillID].Type; if (SkillType == 'Special') { SkillCost = this._parent['H_' + SkillID].Cost; SkillLevel = this._parent['H_' + SkillID].SkillLevel; SkillName = this._parent['H_' + SkillID].SkillName; SkillVal = this._parent.Skill('H', SkillID); var SkillNode = this.attachMovie('SkillPanel', 'SN' + ObjectDepth, ObjectDepth); ++ObjectDepth; SkillNode.Category = 'Special'; SkillNode.SkillType = SkillType; SkillNode._x = this[SkillType + 'Shell']._x - 350 + Column * 325; SkillNode._y = -275 + this[SkillType + 'Number']; this[SkillType + 'Number'] += 55; Num = 550; if (Column == 0) { Num = 400; } if (this[SkillType + 'Number'] > Num) { this[SkillType + 'Number'] = 0; ++Column; } SkillNode.SkillID = SkillID; SkillNode.SkillName_txt.text = SkillName; SkillNode.SkillCost_txt.text = SkillCost; SkillNode.SkillValue_txt.text = SkillVal; SkillNode.Description = this._parent['H_' + SkillID].Info; if (this._parent['H_' + SkillID].Unlock) { SkillNode.BTN.onRollOver = function () { SkillDescribe.Description = this._parent.Description; }; SkillNode.BTN.onRollOut = function () { SkillDescribe.Description = undefined; }; } } ++i; } } } movieClip 1772 { } movieClip 1773 { } movieClip 1775 HolySheet { frame 1 { RETURN.onPress = function () { var v2 = this._parent._parent.attachMovie('Sheet2', 'SheetPage', 999999988); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; Stars_txt.text = _global.StarCount; var SkillDescribe = this.attachMovie('SkillDescription', 'SkillDescribe', 20000); SkillDescribe._x = -10000; SkillDescribe.DT.text = ''; ObjectDepth = 0; Column = 0; HolyNumber = 0; TotalSkills = this._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent.HeroSkill[i]; SkillType = this._parent['H_' + SkillID].Type; if (SkillType == 'Holy') { SkillCost = this._parent['H_' + SkillID].Cost; SkillLevel = this._parent['H_' + SkillID].SkillLevel; SkillName = this._parent['H_' + SkillID].SkillName; SkillVal = this._parent.Skill('H', SkillID); var SkillNode = this.attachMovie('SkillPanel', 'SN' + ObjectDepth, ObjectDepth); ++ObjectDepth; SkillNode.Category = 'Holy'; SkillNode.SkillType = SkillType; SkillNode._x = this[SkillType + 'Shell']._x - 350 + Column * 325; SkillNode._y = -275 + this[SkillType + 'Number']; this[SkillType + 'Number'] += 55; Num = 550; if (Column == 0) { Num = 400; } if (this[SkillType + 'Number'] > Num) { this[SkillType + 'Number'] = 0; ++Column; } SkillNode.SkillID = SkillID; SkillNode.SkillName_txt.text = SkillName; SkillNode.SkillCost_txt.text = SkillCost; SkillNode.SkillValue_txt.text = SkillVal; SkillNode.Description = this._parent['H_' + SkillID].Info; if (this._parent['H_' + SkillID].Unlock) { SkillNode.BTN.onRollOver = function () { SkillDescribe.Description = this._parent.Description; }; SkillNode.BTN.onRollOut = function () { SkillDescribe.Description = undefined; }; } } ++i; } } } movieClip 1779 { } movieClip 1780 { } movieClip 1782 EvilSheet { frame 1 { RETURN.onPress = function () { var v2 = this._parent._parent.attachMovie('Sheet2', 'SheetPage', 999999988); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; Stars_txt.text = _global.StarCount; var SkillDescribe = this.attachMovie('SkillDescription', 'SkillDescribe', 20000); SkillDescribe._x = -10000; SkillDescribe.DT.text = ''; ObjectDepth = 0; Column = 0; EvilNumber = 0; TotalSkills = this._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent.HeroSkill[i]; SkillType = this._parent['H_' + SkillID].Type; if (SkillType == 'Evil') { SkillCost = this._parent['H_' + SkillID].Cost; SkillLevel = this._parent['H_' + SkillID].SkillLevel; SkillName = this._parent['H_' + SkillID].SkillName; SkillVal = this._parent.Skill('H', SkillID); var SkillNode = this.attachMovie('SkillPanel', 'SN' + ObjectDepth, ObjectDepth); ++ObjectDepth; SkillNode.Category = 'Evil'; SkillNode.SkillType = SkillType; SkillNode._x = this[SkillType + 'Shell']._x - 350 + Column * 325; SkillNode._y = -275 + this[SkillType + 'Number']; this[SkillType + 'Number'] += 55; Num = 550; if (Column == 0) { Num = 400; } if (this[SkillType + 'Number'] > Num) { this[SkillType + 'Number'] = 0; ++Column; } SkillNode.SkillID = SkillID; SkillNode.SkillName_txt.text = SkillName; SkillNode.SkillCost_txt.text = SkillCost; SkillNode.SkillValue_txt.text = SkillVal; SkillNode.Description = this._parent['H_' + SkillID].Info; if (this._parent['H_' + SkillID].Unlock) { SkillNode.BTN.onRollOver = function () { SkillDescribe.Description = this._parent.Description; }; SkillNode.BTN.onRollOut = function () { SkillDescribe.Description = undefined; }; } } ++i; } } } movieClip 1783 ElixerIcon { } movieClip 1816 { } movieClip 1819 { } movieClip 1823 RabbitUnit { frame 1 { if (_global.BunnyCaptive != true) { Web._visible = false; } } frame 1 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 45)); } } frame 15 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 45)); } } frame 25 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 45)); } } frame 37 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 45)); } } } movieClip 1832 { frame 1 { if (_global.HeroMode != true) { this.gotoAndStop(2); } else { stop(); } } } movieClip 1834 { } movieClip 1835 HeroicShop { frame 1 { TomeUnlock._visible = false; SkillEnhanceUnlock._visible = false; StarPowerMultUnlock._visible = false; GoldPowerMultUnlock._visible = false; ItemSaveUnlock._visible = false; if (this._parent.ItemSaveAbility == true) { ItemSaveUnlock._visible = true; } StatusImmuneUnlock._visible = false; if (this._parent.HeroStatusImmune == true) { StatusImmuneUnlock._visible = true; } FullHealUnlock._visible = false; RepairAllUnlock._visible = false; ItemsRepaired = false; InvincibilityUnlock._visible = false; if (this._parent.HeroInvincibility == true) { InvincibilityUnlock._visible = true; } UnlockAllSkillsUnlock._visible = false; if (this._parent.HeroSkillsUnlocked == true) { UnlockAllSkillsUnlock._visible = true; } InfiniteItemUsesUnlock._visible = false; if (this._parent.HeroInfiniteItemUses == true) { InfiniteItemUsesUnlock._visible = true; } } frame 1 { function TomeExtraBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { trace(ShopRef); trace(ShopRef._parent.TomePower); ShopRef._parent.TomePower += 5; RefreshUpgradeText(); _global.TomeTokens += 5; R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': ShopRef, '_x': TomeExtra._x, '_y': TomeExtra._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } } function SkillTypeExtraBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { ShopRef._parent.SkillEnhance += 2; RefreshUpgradeText(); var v1 = ShopRef._parent.attachMovie('EnhanceSkill', 'EnhanceSkill', 2151040); v1._x = 500; v1._y = 325; v1.UsesRemaining = 2; ShopRef.removeMovieClip(); } } function StarPowerExtraBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { ShopRef._parent.StarPowerMult += 2; RefreshUpgradeText(); _global.StarCount += ShopRef._parent.StarPower * 2; ShopRef._parent.Trinity1[ShopRef._parent.StarKey] += ShopRef._parent.StarPower * 2; R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': ShopRef, '_x': StarPowerExtra._x, '_y': StarPowerExtra._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } } function GoldPowerExtraBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { ShopRef._parent.GoldPowerMult += 2; RefreshUpgradeText(); _global.GoldCount += ShopRef._parent.GoldPower * 2; ShopRef._parent.Trinity1[ShopRef._parent.GoldKey] += ShopRef._parent.GoldPower * 2; R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': ShopRef, '_x': GoldPowerExtra._x, '_y': GoldPowerExtra._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } } function ItemSaveSlotBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { ShopRef.ItemSaveUnlock._visible = true; ShopRef._parent.ItemSaveAbility = true; R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': ShopRef, '_x': ItemSaveSlot._x, '_y': ItemSaveSlot._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } } function StatusImmuneBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { --ShopRef._parent.BoostUses; ShopRef.BoostUses_txt.text = ShopRef._parent.BoostUses + ' uses'; ShopRef._parent.HeroStatusImmune = true; StatusImmuneUnlock._visible = true; } } function FullHealBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { --ShopRef._parent.BoostUses; ShopRef.BoostUses_txt.text = ShopRef._parent.BoostUses + ' uses'; ShopRef._parent.HHP = ShopRef._parent.HMaxHP; ShopRef._parent.HES = ShopRef._parent.HMaxES; ShopRef._parent.HArmor = ShopRef._parent.HArmorTotal; ShopRef.FullHealUnlock._visible = true; } } function StarBonusBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { --ShopRef._parent.BoostUses; ShopRef.BoostUses_txt.text = ShopRef._parent.BoostUses + ' uses'; _global.StarCount += 2000 + 500 * ShopRef._parent.StarBonus; ShopRef._parent.Trinity1[ShopRef._parent.StarKey] += 2000 + 500 * ShopRef._parent.StarBonus; ++ShopRef._parent.StarBonus; ShopRef.StarBonus_txt.text = '+' + (2000 + 500 * ShopRef._parent.StarBonus) + ' STARS'; } } function RepairAllBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { --ShopRef._parent.BoostUses; ShopRef.BoostUses_txt.text = ShopRef._parent.BoostUses + ' uses'; ShopRef._parent.InitiateActiveItems(); ShopRef.ItemsRepaired = true; ShopRef.RepairAllUnlock._visible = true; } } function InvincibilityBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { --ShopRef._parent.BoostUses; ShopRef.BoostUses_txt.text = ShopRef._parent.BoostUses + ' uses'; ShopRef._parent.HeroInvincibility = true; ShopRef.InvincibilityUnlock._visible = true; } } function UnlockAllSkillsBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { h = 0; while (h < ShopRef._parent.HeroSkill.length) { Name = ShopRef._parent.HeroSkill[h]; ShopRef._parent['H_' + Name].Unlock = true; ++h; } ShopRef._parent.HeroSkillsUnlocked = true; ShopRef.UnlockAllSkillsUnlock._visible = true; ShopRef._parent.TGS = true; ShopRef._parent.BoostUses = 99; ShopRef.BoostUses_txt.text = ShopRef._parent.BoostUses + ' uses'; } } function InfiniteItemUsesBuy(result) { trace('Purchase success:' + result.success); if (result.success == true) { ShopRef._parent.HeroInfiniteItemUses = true; ShopRef.InfiniteItemUsesUnlock._visible = true; ShopRef._parent.TGS = true; ShopRef._parent.BoostUses = 99; ShopRef.BoostUses_txt.text = ShopRef._parent.BoostUses + ' uses'; } } EXIT.onPress = function () { var v2 = this._parent._parent.attachMovie('Store', 'StorePage', 999999998); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; ShopRef = this; TomeExtra.onRelease = function () { TomeExtraBuy({'success': false}); this._parent._parent.kongregate.mtx.purchaseItems(['TomeExtra'], TomeExtraBuy); R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); }; SkillTypeExtra.onRelease = function () { SkillTypeExtraBuy({'success': false}); this._parent._parent.kongregate.mtx.purchaseItems(['SkillTypeExtra'], SkillTypeExtraBuy); R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); }; StarPowerExtra.onRelease = function () { StarPowerExtraBuy({'success': false}); this._parent._parent.kongregate.mtx.purchaseItems(['StarPowerExtra'], StarPowerExtraBuy); R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); }; GoldPowerExtra.onRelease = function () { GoldPowerExtraBuy({'success': false}); this._parent._parent.kongregate.mtx.purchaseItems(['GoldPowerExtra'], GoldPowerExtraBuy); R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); }; ItemSaveSlot.onRelease = function () { if (ShopRef._parent.ItemSaveAbility != true) { ItemSaveSlotBuy({'success': false}); this._parent._parent.kongregate.mtx.purchaseItems(['ItemSaveSlot'], ItemSaveSlotBuy); } R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); }; Gold = _global.GoldCount; Gold_txt.text = Gold; FreeGold.onRelease = function () { if (ShopRef._parent.BoostUses > 0 && Gold > 0) { --ShopRef._parent.BoostUses; ShopRef.BoostUses_txt.text = ShopRef._parent.BoostUses + ' uses'; ShopRef._parent.Trinity1[ShopRef._parent.GoldKey] += 500; _global.GoldCount += 500; Gold = _global.GoldCount; Gold_txt.text = Gold; R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } }; StatusImmune.onRelease = function () { if (ShopRef._parent.HeroStatusImmune != true && ShopRef._parent.BoostUses > 0 && Gold > 100) { ShopRef._parent.Trinity1[ShopRef._parent.GoldKey] -= 100; _global.GoldCount -= 100; Gold = _global.GoldCount; Gold_txt.text = Gold; StatusImmuneBuy({'success': true}); R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } }; FullHeal.onRelease = function () { SX = ShopRef._parent; HealNeeded = SX.HHP < SX.HMaxHP || SX.HES < SX.HMaxES || SX.HArmor < SX.HArmorTotal; if (HealNeeded && ShopRef._parent.BoostUses > 0 && Gold > 250) { ShopRef._parent.Trinity1[ShopRef._parent.GoldKey] -= 250; _global.GoldCount -= 250; Gold = _global.GoldCount; Gold_txt.text = Gold; FullHealBuy({'success': true}); R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } }; StarBonus.onRelease = function () { if (ShopRef._parent.BoostUses > 0 && Gold > 500) { ShopRef._parent.Trinity1[ShopRef._parent.GoldKey] -= 500; _global.GoldCount -= 500; Gold = _global.GoldCount; Gold_txt.text = Gold; StarBonusBuy({'success': true}); R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } }; RepairAll.onRelease = function () { if (ItemsRepaired != true && ShopRef._parent.BoostUses > 0 && Gold > 750) { ShopRef._parent.Trinity1[ShopRef._parent.GoldKey] -= 750; _global.GoldCount -= 750; Gold = _global.GoldCount; Gold_txt.text = Gold; RepairAllBuy({'success': true}); R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } }; Invincibility.onRelease = function () { if (ShopRef._parent.HeroInvincibility != true && ShopRef._parent.BoostUses > 0 && Gold > 1000) { ShopRef._parent.Trinity1[ShopRef._parent.GoldKey] -= 1000; _global.GoldCount -= 1000; Gold = _global.GoldCount; Gold_txt.text = Gold; InvincibilityBuy({'success': true}); R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); } }; UnlockAllSkills.onRelease = function () { if (ShopRef._parent.HeroSkillsUnlocked != true) { UnlockAllSkillsBuy({'success': false}); this._parent._parent.kongregate.mtx.purchaseItems(['UnlockAllSkills'], UnlockAllSkillsBuy); } R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); }; InfiniteItemUses.onRelease = function () { if (ShopRef._parent.HeroInfiniteItemUses != true) { InfiniteItemUsesBuy({'success': false}); this._parent._parent.kongregate.mtx.purchaseItems(['InfiniteItemUses'], InfiniteItemUsesBuy); } R = ShopRef._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); }; } frame 1 { function RefreshUpgradeText() { StarPowerTotal_txt.text = '(+' + this._parent.StarPower * (this._parent.StarPowerMult + 2) + 'stars)'; GoldPowerTotal_txt.text = '(+' + this._parent.GoldPower * (this._parent.GoldPowerMult + 2) + 'gold)'; FreeTomes_txt.text = this._parent.TomePower + 5 + ' TOMES FREE'; SkillTypes_txt.text = this._parent.SkillEnhance + 2 + ' SKILL TYPES'; StarPower_txt.text = this._parent.StarPowerMult + 2 + 'X'; GoldPower_txt.text = this._parent.GoldPowerMult + 2 + 'X'; } StarPowerTotal_txt.text = '(+' + this._parent.StarPower * (this._parent.StarPowerMult + 2) + 'stars)'; GoldPowerTotal_txt.text = '(+' + this._parent.GoldPower * (this._parent.GoldPowerMult + 2) + 'gold)'; StarBonus_txt.text = '+' + (2000 + 500 * this._parent.StarBonus) + ' STARS'; BoostUses_txt.text = this._parent.BoostUses + ' uses'; RefreshUpgradeText(); } } movieClip 1839 SkillTypeNormal { } movieClip 1842 SkillTypeUtility { } movieClip 1845 SkillTypeMagic { } movieClip 1848 SkillTypeAttack { } movieClip 1851 SkillTypeDefense { } movieClip 1855 EnhanceSkill { frame 1 { function Splash(Type, Self) { var v3 = this._parent.attachMovie('SkillType' + Type, 'splashFX', _global.Depth + 1111119980); ++_global.Depth; v3._x = Self._x + this._x; v3._y = Self._y + this._y; v3.onEnterFrame = function () { this._xscale *= 1.05; this._yscale *= 1.05; this._alpha -= 4; if (this._alpha < 0) { this.removeMovieClip(); } }; } function EnhanceCategory(Type) { if (_global.HeroMode != true) { _global.TomeTokens = this._parent.TomePower; _global.StarCount += this._parent.StarPower * (this._parent.StarPowerMult - 1); this._parent.Trinity1[this._parent.StarKey] += this._parent.StarPower * (this._parent.StarPowerMult - 1); _global.GoldCount += this._parent.GoldPower * (this._parent.GoldPowerMult - 1); this._parent.Trinity1[this._parent.GoldKey] += this._parent.GoldPower * (this._parent.GoldPowerMult - 1); } this._parent.Trinity1[this._parent.HeroKey] = true; _global.HeroMode = true; normalMC._visible = false; h = 0; while (h < this._parent.HeroSkill.length) { if (this._parent['H_' + this._parent.HeroSkill[h]].Type == Type) { this._parent.Trinity1[this._parent['HeroKey_' + this._parent.HeroSkill[h]]] += 5; this._parent['H_' + this._parent.HeroSkill[h]].SkillLevel += 5; this._parent[this._parent['H_' + this._parent.HeroSkill[h]].Type + 'Total'] += 5; } ++h; } if (UsesRemaining == 1) { var v4 = this._parent.attachMovie('Store', 'StorePage', 999999998); v4._x = 500; v4._y = 325; this.removeMovieClip(); } else { --UsesRemaining; UsesRemaining_txt.text = '[' + UsesRemaining + ' remaining]'; } } function GetItem(Type1, Type2) { Type = Type1 + Type2; cost = this._parent[Type + 'Val']; if (Type1 == 'Legendary') { cost = 0; } var v3 = this._parent.attachMovie('ItemGet', 'ItemGet', _global.Depth + 2150000); ++_global.Depth; v3._x = 500; v3._y = 325; v3.Type = Type; v3.Type1 = Type1; v3.Type2 = Type2; } HEROCLASS_txt.text = 'HERO ' + this._parent.HeroClass; UsesRemaining_txt.text = '[' + UsesRemaining + ' remaining]'; DEF.onPress = function () { Splash('Defense', defMC); EnhanceCategory('Defense'); }; ATK.onPress = function () { Splash('Attack', atkMC); EnhanceCategory('Attack'); }; MGC.onPress = function () { Splash('Magic', mgcMC); EnhanceCategory('Magic'); }; UTI.onPress = function () { Splash('Utility', utiMC); EnhanceCategory('Utility'); }; NORMAL.onPress = function () { if (normalMC._visible == true) { Splash('Normal', normalMC); _global.GamePause = false; _global.MenuOpen = false; this._parent._parent.Trinity1[this._parent._parent.HeroKey] = false; _global.HeroMode = false; this._parent.removeMovieClip(); } }; if (_global.HeroMode == true) { normalMC._visible = false; } } } movieClip 1891 StartGameText { frame 1 { this.gotoAndStop(Math.ceil(Math.random() * 35)); } } movieClip 1943 BunnyPraiseText { frame 1 { this.gotoAndStop(Math.ceil(Math.random() * 25)); } } movieClip 1945 BlueStaff { } movieClip 1950 ItemIconCell { frame 1 { EffectSymbol1.swapDepths(995); EffectSymbol2.swapDepths(996); EffectSymbol3.swapDepths(997); EffectSymbol4.swapDepths(998); RarityIcon.swapDepths(999); } } movieClip 1963 { } movieClip 1970 { } movieClip 1973 { } movieClip 1974 { } movieClip 1975 { } movieClip 1976 { } movieClip 1977 { } movieClip 1978 { } movieClip 1979 { } movieClip 1981 BombIcon { } movieClip 1982 { } movieClip 1992 Inventory { frame 1 { function InventoryText(Type, Target, Text) { var v3 = this.attachMovie(Type + 'Text', 'cText' + _global.Depth, _global.Depth); ++_global.Depth; v3._x = Target._x; v3._y = Target._y; v3.Life = 75; v3.DT.text = Text; v3.onEnterFrame = function () { this._y -= 0.75; --this.Life; if (this.Life < 20) { this._alpha -= 5; } if (this.Life < 0) { this.removeMovieClip(); } }; } function SwapItems(Slot) { if (SelectedItem != -1) { ActiveItem = this._parent['ACTIVEITEM' + Slot]; Cell = this['ItemCell' + SelectedItem]; TempID = ActiveItem.ItemID; TempID2 = Cell.ItemID; this._parent['ACTIVEITEM' + Slot].ItemID = TempID2; this['ItemCell' + SelectedItem].ItemID = TempID; GFX = this._parent['L_' + this._parent['I_Item' + TempID].GFX].GFX1; var v3 = this['ItemCell' + SelectedItem].attachMovie(GFX, 'Icon', 1); v3._yscale = 125; v3._xscale = 125; this._parent.InventoryList[this['ItemCell' + SelectedItem].ID] = TempID; this._parent['ACTIVEITEM' + Slot].Uses = 0; this._parent.LoadItemCell(this['Item' + Slot], 'I_Item' + TempID2); this._parent.LoadItemCell(this._parent['ACTIVEITEM' + Slot].ITEM, 'I_Item' + TempID2); this._parent.LoadInventoryCell(this['ItemCell' + SelectedItem], TempID); SelectInventoryItem(SelectedItem); if (Slot == 1) { this._parent.SaveItem(); } } } ACTIVEBTN1.onPress = function () { SwapItems(1); }; ACTIVEBTN2.onPress = function () { SwapItems(2); }; ACTIVEBTN3.onPress = function () { SwapItems(3); }; ACTIVEBTN4.onPress = function () { SwapItems(4); }; DestroyItemBTN.onPress = function () { this._parent._parent.Trinity1[this._parent._parent.StarKey] += DestroyValue; _global.StarCount += DestroyValue; this._parent._parent.TotalStars += DestroyValue; InventoryText('ItemSold', this, '+' + DestroyValue); RemoveItem(SelectedItem); R = this._parent._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); }; SellItemBTN.onPress = function () { trace(this); this._parent._parent.Trinity1[this._parent._parent.GoldKey] += SellValue; _global.GoldCount += SellValue; this._parent._parent.TotalGold += SellValue; InventoryText('ItemSold', this, '+' + SellValue); RemoveItem(SelectedItem); R = this._parent._parent; R.GraphicEffect('Z_Feedback', {'A': R.spin, 'B': R.grow}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 30, 'Life': 20, 'Spin': 25}); }; } frame 1 { function RefreshDS() { SwordDestroy = this._parent.SwordDestroy; AxeDestroy = this._parent.AxeDestroy; BowDestroy = this._parent.BowDestroy; WandDestroy = this._parent.WandDestroy; ShieldDestroy = this._parent.ShieldDestroy; CharmDestroy = this._parent.CharmDestroy; PotionDestroy = this._parent.PotionDestroy; BombDestroy = this._parent.BombDestroy; SwordSell = this._parent.SwordSell; AxeSell = this._parent.AxeSell; BowSell = this._parent.BowSell; WandSell = this._parent.WandSell; ShieldSell = this._parent.ShieldSell; CharmSell = this._parent.CharmSell; PotionSell = this._parent.PotionSell; BombSell = this._parent.BombSell; Sword1.gotoAndStop(2 - SwordDestroy); Axe1.gotoAndStop(2 - AxeDestroy); Bow1.gotoAndStop(2 - BowDestroy); Wand1.gotoAndStop(2 - WandDestroy); Shield1.gotoAndStop(2 - ShieldDestroy); Charm1.gotoAndStop(2 - CharmDestroy); Potion1.gotoAndStop(2 - PotionDestroy); Bomb1.gotoAndStop(2 - BombDestroy); Sword2.gotoAndStop(2 - SwordSell); Axe2.gotoAndStop(2 - AxeSell); Bow2.gotoAndStop(2 - BowSell); Wand2.gotoAndStop(2 - WandSell); Shield2.gotoAndStop(2 - ShieldSell); Charm2.gotoAndStop(2 - CharmSell); Potion2.gotoAndStop(2 - PotionSell); Bomb2.gotoAndStop(2 - BombSell); } Sword1.onPress = function () { if (this._parent._parent.SwordDestroy == true) { this._parent._parent.SwordDestroy = false; } else { this._parent._parent.SwordDestroy = true; } RefreshDS(); }; Axe1.onPress = function () { if (this._parent._parent.AxeDestroy == true) { this._parent._parent.AxeDestroy = false; } else { this._parent._parent.AxeDestroy = true; } RefreshDS(); }; Bow1.onPress = function () { if (this._parent._parent.BowDestroy == true) { this._parent._parent.BowDestroy = false; } else { this._parent._parent.BowDestroy = true; } RefreshDS(); }; Wand1.onPress = function () { if (this._parent._parent.WandDestroy == true) { this._parent._parent.WandDestroy = false; } else { this._parent._parent.WandDestroy = true; } RefreshDS(); }; Shield1.onPress = function () { if (this._parent._parent.ShieldDestroy == true) { this._parent._parent.ShieldDestroy = false; } else { this._parent._parent.ShieldDestroy = true; } RefreshDS(); }; Charm1.onPress = function () { if (this._parent._parent.CharmDestroy == true) { this._parent._parent.CharmDestroy = false; } else { this._parent._parent.CharmDestroy = true; } RefreshDS(); }; Potion1.onPress = function () { if (this._parent._parent.PotionDestroy == true) { this._parent._parent.PotionDestroy = false; } else { this._parent._parent.PotionDestroy = true; } RefreshDS(); }; Bomb1.onPress = function () { if (this._parent._parent.BombDestroy == true) { this._parent._parent.BombDestroy = false; } else { this._parent._parent.BombDestroy = true; } RefreshDS(); }; Sword2.onPress = function () { if (this._parent._parent.SwordSell == true) { this._parent._parent.SwordSell = false; } else { this._parent._parent.SwordSell = true; } RefreshDS(); }; Axe2.onPress = function () { if (this._parent._parent.AxeSell == true) { this._parent._parent.AxeSell = false; } else { this._parent._parent.AxeSell = true; } RefreshDS(); }; Bow2.onPress = function () { if (this._parent._parent.BowSell == true) { this._parent._parent.BowSell = false; } else { this._parent._parent.BowSell = true; } RefreshDS(); }; Wand2.onPress = function () { if (this._parent._parent.WandSell == true) { this._parent._parent.WandSell = false; } else { this._parent._parent.WandSell = true; } RefreshDS(); }; Shield2.onPress = function () { if (this._parent._parent.ShieldSell == true) { this._parent._parent.ShieldSell = false; } else { this._parent._parent.ShieldSell = true; } RefreshDS(); }; Charm2.onPress = function () { if (this._parent._parent.CharmSell == true) { this._parent._parent.CharmSell = false; } else { this._parent._parent.CharmSell = true; } RefreshDS(); }; Potion2.onPress = function () { if (this._parent._parent.PotionSell == true) { this._parent._parent.PotionSell = false; } else { this._parent._parent.PotionSell = true; } RefreshDS(); }; Bomb2.onPress = function () { if (this._parent._parent.BombSell == true) { this._parent._parent.BombSell = false; } else { this._parent._parent.BombSell = true; } RefreshDS(); }; RefreshDS(); } frame 1 { function RefreshInventory() { i = 0; while (i < 6) { ii = 0; while (ii < 10) { ID = i * 10 + ii; var v2 = this.attachMovie('ItemIconCell', 'ItemCell' + ID, ID); v2._x = InventoryBox._x + ii * 60 + 30; v2._y = InventoryBox._y - i * 60 - 30; v2.ID = ID; ItemID = this._parent.InventoryList[ID]; this._parent.LoadInventoryCell(v2, ItemID); v2.ItemID = ItemID; v2.BTN.onPress = function () { if (this._parent.HasItem == true) { SelectInventoryItem(this._parent.ID); } }; ++ii; } ++i; } } function SelectInventoryItem(Slot) { TargetCell = this['ItemCell' + Slot]; CalcValue(Slot); SelectedItemMC._x = TargetCell._x; SelectedItemMC._y = TargetCell._y; SelectedItem = Slot; SelectedDisplay._visible = true; SelectedDisplay2._visible = true; this._parent.LoadItemCell(SelectedDisplay, 'I_Item' + TargetCell.ItemID); this._parent.LoadItemCell(SelectedDisplay2, 'I_Item' + TargetCell.ItemID); } function CalcValue(Slot) { TargetCell = this['ItemCell' + Slot]; TargetItem = this._parent['I_Item' + TargetCell.ItemID]; Rarity = TargetItem.Rarity; DestroyValue = 10 + Math.ceil(Math.sqrt(Rarity * 100)); SellValue = 10 + Math.ceil(Math.sqrt(Rarity * 100)); Type = this._parent['I_Item' + TargetCell.ItemID].Type; if (Type == 'Charm') { DestroyValue = Math.ceil(DestroyValue / 2); SellValue += 50; Math.ceil(SellValue * 1.5); } if (Type == 'Potion') { DestroyValue += 25; Math.ceil(DestroyValue * 1.5); SellValue -= 50; } if (Type == 'Sword') { DestroyValue += 10; SellValue += 10; } if (Type == 'Bow') { SellValue += 10; } if (Type == 'Wand') { DestroyValue += 25; SellValue -= 25; } if (Type == 'Shield') { DestroyValue = Math.ceil(DestroyValue * 1.2); SellValue -= 5; } if (Type == 'Bomb') { DestroyValue = Math.ceil(DestroyValue / 1.5); SellValue += 25; } if (Type == 'Axe') { DestroyValue = Math.ceil(DestroyValue * 1.1); } if (SellValue < 25) { SellValue = 25; } if (DestroyValue < 25) { DestroyValue = 25; } e = 1; while (e <= 4) { if (TargetItem['Effect' + e] == 'ExtraSellValue') { SellValue += TargetItem['Value' + e]; } if (TargetItem['Effect' + e] == 'ExtraDestroyValue') { DestroyValue += TargetItem['Value' + e]; } ++e; } DestroyValue += Math.ceil(this._parent.Skill('H', 'ItemDestroyValueIncreaseFlat')); SellValue *= (100 + this._parent.Skill('H', 'ItemSellValueIncreasePcnt')) / 100; SellValue = Math.ceil(SellValue); Stars_txt.text = DestroyValue; Gold_txt.text = SellValue; } function RemoveItem(Slot, RefreshLock) { if (RefreshLock == undefined) { RefreshLock = false; } DestroyValue = 0; SellValue = 0; Stars_txt.text = 0; Gold_txt.text = 0; this._parent.InventoryList[Slot] = undefined; this['ItemCell' + Slot].Icon.removeMovieClip(); this['ItemCell' + Slot].HasItem = false; if (RefreshLock == false) { this._parent.LoadInventoryCell(this['ItemCell' + Slot], undefined); this._parent.CollapseInventory(); RefreshInventory(); if (this._parent.InventoryList[SelectedItem] != undefined) { SelectInventoryItem(SelectedItem); } else { SelectedItem = -1; SelectedItemMC._x = -10000; SelectedDisplay._visible = false; SelectedDisplay2._visible = false; } } } this._parent.CollapseInventory(); EXIT.onPress = function () { _global.GamePause = false; _global.MenuOpen = false; this._parent.removeMovieClip(); }; trace(this._parent.ACTIVEITEM1.ItemID); this._parent.LoadItemCell(Item1, 'I_Item' + this._parent.ACTIVEITEM1.ItemID); this._parent.LoadItemCell(Item2, 'I_Item' + this._parent.ACTIVEITEM2.ItemID); this._parent.LoadItemCell(Item3, 'I_Item' + this._parent.ACTIVEITEM3.ItemID); this._parent.LoadItemCell(Item4, 'I_Item' + this._parent.ACTIVEITEM4.ItemID); SelectedItem = -1; DestroyValue = 0; SellValue = 0; SelectedDisplay._visible = false; SelectedDisplay2._visible = false; RefreshInventory(); DestroyAllBTN.onPress = function () { TotalValue = 0; StageRef = this._parent._parent; Length = StageRef.InventoryList.length; trace('L:' + Length); if (Length > 60) { Length = 60; } slot = 0; while (slot < Length) { if (StageRef.InventoryList[slot] != undefined) { CalcValue(slot); Type = StageRef['I_Item' + this._parent['ItemCell' + slot].ItemID].Type; trace(Type + ',' + slot); if (this._parent[Type + 'Destroy'] == true) { StageRef.Trinity1[StageRef.StarKey] += DestroyValue; _global.StarCount += DestroyValue; StageRef.TotalStars += DestroyValue; TotalValue += DestroyValue; RemoveItem(slot, true); } } ++slot; } this._parent._parent.CollapseInventory(); RefreshInventory(); InventoryText('ItemSold', this, '+' + TotalValue); R = this._parent._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); SelectedItem = -1; SelectedDisplay._visible = false; SelectedDisplay2._visible = false; DestroyValue = 0; Stars_txt.text = 0; SellValue = 0; Gold_txt.text = 0; SelectedItemMC._x = -10000; }; SellAllBTN.onPress = function () { TotalValue = 0; StageRef = this._parent._parent; Length = StageRef.InventoryList.length; trace('L:' + Length); if (Length > 60) { Length = 60; } slot = 0; while (slot < Length) { if (StageRef.InventoryList[slot] != undefined) { CalcValue(slot); Type = StageRef['I_Item' + this._parent['ItemCell' + slot].ItemID].Type; if (this._parent[Type + 'Sell'] == true) { this._parent._parent.Trinity1[this._parent._parent.GoldKey] += SellValue; _global.GoldCount += SellValue; StageRef.TotalGold += SellValue; TotalValue += SellValue; RemoveItem(slot, true); } } ++slot; } this._parent._parent.CollapseInventory(); RefreshInventory(); InventoryText('ItemSold', this, '+' + TotalValue); R = this._parent._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); SelectedItem = -1; SelectedDisplay._visible = false; SelectedDisplay2._visible = false; DestroyValue = 0; Stars_txt.text = 0; SellValue = 0; Gold_txt.text = 0; SelectedItemMC._x = -10000; }; HoverItem.swapDepths(99999); HoverID = -1; this.onEnterFrame = function () { HoverItem._x = 10000; i = 0; while (i < 6) { ii = 0; while (ii < 10) { ID = i * 10 + ii; HasItem = this['ItemCell' + ID].HasItem; X = this['ItemCell' + ID]._x; Y = this['ItemCell' + ID]._y; XM = _xmouse; YM = _ymouse; ItemID = this['ItemCell' + ID].ItemID; if (XM < X + 30 && XM > X - 30 && YM < Y + 30 && YM > Y - 30 && HasItem == true) { HoverItem._x = XM + 80; HoverItem._y = YM + 100; if (ItemID != HoverID) { this._parent.LoadItemCell(HoverItem, 'I_Item' + ItemID); } HoverID = ItemID; } ++ii; } ++i; } }; } } movieClip 1994 { } movieClip 1995 HolyBow { } movieClip 1998 { } movieClip 2000 { } movieClip 2001 Z_Frost1 { instance of movieClip 1998 { onClipEvent (enterFrame) { if (this._parent.Speed != undefined) { this._rotation += 20; } if (this._parent._parent.Speed != undefined) { this._rotation += 20; } } } instance of movieClip 2000 { onClipEvent (enterFrame) { if (this._parent.Speed != undefined) { this._rotation -= 37; } if (this._parent._parent.Speed != undefined) { this._rotation -= 37; } } } } movieClip 2002 Z_PurpleDot { } movieClip 2004 Z_GreenDot { } movieClip 2006 Z_MageHand2 { } movieClip 2008 Z_MageHand { } movieClip 2010 { } movieClip 2011 Z_Burn_Mono_Hand { } movieClip 2013 Stick { } movieClip 2016 { } movieClip 2017 { } movieClip 2019 UtilitySheet { frame 1 { RETURN.onPress = function () { var v2 = this._parent._parent.attachMovie('Sheet', 'SheetPage', 999999999); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; Stars_txt.text = _global.StarCount; var SkillDescribe = this.attachMovie('SkillDescription', 'SkillDescribe', 20000); SkillDescribe._x = -10000; SkillDescribe.DT.text = ''; ObjectDepth = 0; Column = 0; DefenseNumber = 0; AttackNumber = 0; MagicNumber = 0; UtilityNumber = 0; TotalSkills = this._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent.HeroSkill[i]; SkillType = this._parent['H_' + SkillID].Type; if (SkillType == 'Utility') { SkillCost = this._parent['H_' + SkillID].Cost; SkillLevel = this._parent['H_' + SkillID].SkillLevel; SkillName = this._parent['H_' + SkillID].SkillName; SkillVal = this._parent.Skill('H', SkillID); var SkillNode = this.attachMovie('SkillPanel', 'SN' + ObjectDepth, ObjectDepth); ++ObjectDepth; SkillNode.Category = 'Utility'; SkillNode.SkillType = SkillType; SkillNode._x = this[SkillType + 'Shell']._x - 350 + Column * 325; SkillNode._y = -275 + this[SkillType + 'Number']; this[SkillType + 'Number'] += 55; Num = 550; if (Column == 0) { Num = 400; } if (this[SkillType + 'Number'] > Num) { this[SkillType + 'Number'] = 0; ++Column; } SkillNode.SkillID = SkillID; SkillNode.SkillName_txt.text = SkillName; SkillNode.SkillCost_txt.text = SkillCost; SkillNode.SkillValue_txt.text = SkillVal; SkillNode.Description = this._parent['H_' + SkillID].Info; if (this._parent['H_' + SkillID].Unlock) { SkillNode.BTN.onRollOver = function () { SkillDescribe.Description = this._parent.Description; }; SkillNode.BTN.onRollOut = function () { SkillDescribe.Description = undefined; }; } } ++i; } } } movieClip 2022 { } movieClip 2023 { } movieClip 2025 MagicSheet { frame 1 { RETURN.onPress = function () { var v2 = this._parent._parent.attachMovie('Sheet', 'SheetPage', 999999999); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; Stars_txt.text = _global.StarCount; var SkillDescribe = this.attachMovie('SkillDescription', 'SkillDescribe', 20000); SkillDescribe._x = -10000; SkillDescribe.DT.text = ''; ObjectDepth = 0; Column = 0; DefenseNumber = 0; AttackNumber = 0; MagicNumber = 0; UtilityNumber = 0; TotalSkills = this._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent.HeroSkill[i]; SkillType = this._parent['H_' + SkillID].Type; if (SkillType == 'Magic') { SkillCost = this._parent['H_' + SkillID].Cost; SkillLevel = this._parent['H_' + SkillID].SkillLevel; SkillName = this._parent['H_' + SkillID].SkillName; SkillVal = this._parent.Skill('H', SkillID); var SkillNode = this.attachMovie('SkillPanel', 'SN' + ObjectDepth, ObjectDepth); ++ObjectDepth; SkillNode.Category = 'Magic'; SkillNode.SkillType = SkillType; SkillNode._x = this[SkillType + 'Shell']._x - 350 + Column * 325; SkillNode._y = -275 + this[SkillType + 'Number']; this[SkillType + 'Number'] += 55; Num = 550; if (Column == 0) { Num = 400; } if (this[SkillType + 'Number'] > Num) { this[SkillType + 'Number'] = 0; ++Column; } SkillNode.SkillID = SkillID; SkillNode.SkillName_txt.text = SkillName; SkillNode.SkillCost_txt.text = SkillCost; SkillNode.SkillValue_txt.text = SkillVal; SkillNode.Description = this._parent['H_' + SkillID].Info; if (this._parent['H_' + SkillID].Unlock) { SkillNode.BTN.onRollOver = function () { SkillDescribe.Description = this._parent.Description; }; SkillNode.BTN.onRollOut = function () { SkillDescribe.Description = undefined; }; } } ++i; } } } movieClip 2028 { } movieClip 2029 { } movieClip 2031 AttackSheet { frame 1 { RETURN.onPress = function () { var v2 = this._parent._parent.attachMovie('Sheet', 'SheetPage', 999999999); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; Stars_txt.text = _global.StarCount; var SkillDescribe = this.attachMovie('SkillDescription', 'SkillDescribe', 20000); SkillDescribe._x = -10000; SkillDescribe.DT.text = ''; ObjectDepth = 0; Column = 0; DefenseNumber = 0; AttackNumber = 0; MagicNumber = 0; UtilityNumber = 0; TotalSkills = this._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent.HeroSkill[i]; SkillType = this._parent['H_' + SkillID].Type; if (SkillType == 'Attack') { SkillCost = this._parent['H_' + SkillID].Cost; SkillLevel = this._parent['H_' + SkillID].SkillLevel; SkillName = this._parent['H_' + SkillID].SkillName; SkillVal = this._parent.Skill('H', SkillID); var SkillNode = this.attachMovie('SkillPanel', 'SN' + ObjectDepth, ObjectDepth); ++ObjectDepth; SkillNode.Category = 'Attack'; SkillNode.SkillType = SkillType; SkillNode._x = this[SkillType + 'Shell']._x - 350 + Column * 325; SkillNode._y = -275 + this[SkillType + 'Number']; this[SkillType + 'Number'] += 55; Num = 550; if (Column == 0) { Num = 400; } if (this[SkillType + 'Number'] > Num) { this[SkillType + 'Number'] = 0; ++Column; } SkillNode.SkillID = SkillID; SkillNode.SkillName_txt.text = SkillName; SkillNode.SkillCost_txt.text = SkillCost; SkillNode.SkillValue_txt.text = SkillVal; SkillNode.Description = this._parent['H_' + SkillID].Info; if (this._parent['H_' + SkillID].Unlock) { SkillNode.BTN.onRollOver = function () { SkillDescribe.Description = this._parent.Description; }; SkillNode.BTN.onRollOut = function () { SkillDescribe.Description = undefined; }; } } ++i; } } } movieClip 2035 { } movieClip 2036 { } movieClip 2038 DefenseSheet { frame 1 { RETURN.onPress = function () { var v2 = this._parent._parent.attachMovie('Sheet', 'SheetPage', 999999999); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; Stars_txt.text = _global.StarCount; var SkillDescribe = this.attachMovie('SkillDescription', 'SkillDescribe', 20000); SkillDescribe._x = -10000; SkillDescribe.DT.text = ''; ObjectDepth = 0; Column = 0; DefenseNumber = 0; AttackNumber = 0; MagicNumber = 0; UtilityNumber = 0; TotalSkills = this._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent.HeroSkill[i]; SkillType = this._parent['H_' + SkillID].Type; if (SkillType == 'Defense') { SkillCost = this._parent['H_' + SkillID].Cost; SkillLevel = this._parent['H_' + SkillID].SkillLevel; SkillName = this._parent['H_' + SkillID].SkillName; SkillVal = this._parent.Skill('H', SkillID); var SkillNode = this.attachMovie('SkillPanel', 'SN' + ObjectDepth, ObjectDepth); ++ObjectDepth; SkillNode.Category = 'Defense'; SkillNode.SkillType = SkillType; SkillNode._x = this[SkillType + 'Shell']._x - 350 + Column * 325; SkillNode._y = -275 + this[SkillType + 'Number']; this[SkillType + 'Number'] += 55; Num = 550; if (Column == 0) { Num = 400; } if (this[SkillType + 'Number'] > Num) { this[SkillType + 'Number'] = 0; ++Column; } SkillNode.SkillID = SkillID; SkillNode.SkillName_txt.text = SkillName; SkillNode.SkillCost_txt.text = SkillCost; SkillNode.SkillValue_txt.text = SkillVal; SkillNode.Description = this._parent['H_' + SkillID].Info; if (this._parent['H_' + SkillID].Unlock) { SkillNode.BTN.onRollOver = function () { SkillDescribe.Description = this._parent.Description; }; SkillNode.BTN.onRollOut = function () { SkillDescribe.Description = undefined; }; } } ++i; } } } movieClip 2039 Sword { } movieClip 2041 Flask { } movieClip 2046 MagicSwordFX { frame 6 { this.removeMovieClip(); } } movieClip 2048 FragBombIcon { } movieClip 2050 WallBombIcon { } movieClip 2052 SplitArrow { } movieClip 2053 SplitArrowIcon { } movieClip 2055 PierceArrow { } movieClip 2056 PierceArrowIcon { } movieClip 2057 Decoy { } movieClip 2058 DecoyIcon { } movieClip 2062 { } movieClip 2067 PoisonBomb { frame 1 { stop(); } instance asfasdfsad of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance adsfasdf of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } instance dafsfdsasfd of movieClip 65 { onClipEvent (enterFrame) { this._rotation += 11; } } frame 7 { this.removeMovieClip(); } } movieClip 2068 PoisonBombIcon { } movieClip 2071 FrostFX { } movieClip 2076 SwordFX { frame 6 { this.removeMovieClip(); } } // unknown tag 88 length 68 // unknown tag 88 length 68 movieClip 2084 { } movieClip 2086 { } movieClip 2093 { } movieClip 2094 SkillPanel { frame 1 { this.SkillTypeGFX.gotoAndStop(this.SkillType); this.BTN.onRelease = function () { BuyAmount = 1; if (Key.isDown(16)) { BuyAmount = 5; } if (Key.isDown(17)) { BuyAmount = 25; } if (Key.isDown(90)) { BuyAmount = 100; } StageRef = this._parent._parent._parent; SingleCost = StageRef['H_' + this._parent.SkillID].Cost - StageRef.Skill('H', 'SkillCostReduction') + _global.SkillCostIncrease; if (SingleCost < 50) { SingleCost = 50; } SingleCost = Math.floor(SingleCost); TotalCost = SingleCost * BuyAmount; if (TotalCost < 50 * BuyAmount) { TotalCost = 50 * BuyAmount; } if (_global.StarCount >= TotalCost && _global.GameOver != true) { _global.StarCount -= TotalCost; StageRef.Trinity1[StageRef.StarKey] -= TotalCost; this._parent._parent.Stars_txt.text = _global.StarCount; StageRef['H_' + this._parent.SkillID].SkillLevel += BuyAmount; StageRef.Trinity1[StageRef['HeroKey_' + this._parent.SkillID]] += BuyAmount; StageRef.SkillCostRoll(this._parent.Category, BuyAmount); this._parent.SkillValue_txt.text = StageRef.Skill('H', this._parent.SkillID); } else {} }; this.SkillCost_txt.text = ''; this.StarGFX._alpha = 0; StageRef = this._parent._parent; if (StageRef['H_' + this.SkillID].Unlock == true) { Lock._visible = false; TomeIcon._visible = false; } else { TomeIcon.TomePile.gotoAndStop(StageRef['H_' + this.SkillID].Type); this.BTN.onRelease = function () {}; this.SkillCost_txt._visible = false; this.SkillValue_txt._alpha = 50; this._alpha = 75; this.StarGFX._visible = false; this._yscale = 95; this._xscale = 95; } if (StageRef['H_' + this.SkillID].Decay != true) { this.SkillBar._visible = false; } if (this.SkillID != StageRef.ClassSkill1 && this.SkillID != StageRef.ClassSkill2 && this.SkillID != StageRef.ClassSkill3) { this.ClassSymbol._visible = false; } this.onEnterFrame = function () { StageRef = this._parent._parent; BuyAmount = 1; if (Key.isDown(16)) { BuyAmount = 5; } if (Key.isDown(17)) { BuyAmount = 25; } if (Key.isDown(90)) { BuyAmount = 100; } SingleCost = StageRef['H_' + this.SkillID].Cost - StageRef.Skill('H', 'SkillCostReduction') + _global.SkillCostIncrease; if (SingleCost < 50) { SingleCost = 50; } SingleCost = Math.floor(SingleCost); this.SkillCost_txt.text = _root.BigNumber(SingleCost * BuyAmount); Scale = (100 + SingleCost) / 4; Alpha = 100 - this._parent._parent['H_' + this.SkillID].Cost / 10; if (Scale > 250) { Scale = 250; } if (Alpha < 0) { Alpha = 0; } this.StarGFX._yscale = Scale; this.StarGFX._xscale = this.StarGFX._yscale; this.StarGFX._alpha = Alpha; this.AlphaVal = this._parent._parent['H_' + this.SkillID].SkillLevel * 2; if (this.AlphaVal > 100) { this.AlphaVal = 100; } this.SkillTypeGFX._alpha = AlphaVal; }; } } movieClip 2176 { } movieClip 2212 { frame 1 { TotalSkills = this._parent._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent._parent.HeroSkill[i]; this[SkillID].DT.text = this._parent._parent.Skill('H', SkillID); this.AlphaVal = this._parent._parent['H_' + SkillID].SkillLevel * 2; if (this.AlphaVal > 100) { this.AlphaVal = 100; } this[SkillID].SkillTypeGFX._alpha = this.AlphaVal; X = 95 + this._parent._parent['H_' + SkillID].SkillLevel / 10; if (X > 250) { X = 250; } this[SkillID].SkillTypeGFX._xscale = X; this[SkillID].SkillTypeGFX._yscale = X; this[SkillID].SkillTypeGFX.gotoAndStop(this._parent._parent['H_' + SkillID].Type); this[SkillID].SkillTypeGFX2.gotoAndStop(this._parent._parent['H_' + SkillID].Type); this[SkillID].SkillTypeGFX2._visible = this._parent._parent['H_' + SkillID].Unlock; ++i; } } } movieClip 2215 Sheet { frame 1 { DefenseShell.DT.text = this._parent.DefenseTotal + ' DEFENSE'; AttackShell.DT.text = this._parent.AttackTotal + ' ATTACK'; MagicShell.DT.text = this._parent.MagicTotal + ' MAGIC'; UtilityShell.DT.text = this._parent.UtilityTotal + ' UTILITY'; Stars_txt.text = _global.StarCount; DefenseShell.onPress = function () { var v2 = this._parent._parent.attachMovie('DefenseSheet', 'SheetPage', 99999999); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; AttackShell.onPress = function () { var v2 = this._parent._parent.attachMovie('AttackSheet', 'SheetPage', 99999998); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; MagicShell.onPress = function () { var v2 = this._parent._parent.attachMovie('MagicSheet', 'SheetPage', 99999997); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; UtilityShell.onPress = function () { var v2 = this._parent._parent.attachMovie('UtilitySheet', 'SheetPage', 99999996); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; EXIT.onPress = function () { _global.SkillsOpen = false; _global.MenuOpen = false; if (_global.GameOver == false) { _global.GamePause = false; } this._parent.removeMovieClip(); }; PAGE2.onPress = function () { var v2 = this._parent._parent.attachMovie('Sheet2', 'SheetPage', 999999988); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; ObjectDepth = 0; DefenseNumber = 0; AttackNumber = 0; MagicNumber = 0; UtilityNumber = 0; TotalSkills = this._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent.HeroSkill[i]; SkillType = this._parent['H_' + SkillID].Type; SkillCost = this._parent['H_' + SkillID].Cost; SkillLevel = this._parent['H_' + SkillID].SkillLevel; SkillName = this._parent['H_' + SkillID].SkillName; SkillVal = this._parent.Skill('H', SkillID); SkillNode._x = this[SkillType + 'Shell']._x; SkillNode._y = -280 + this[SkillType + 'Number']; this[SkillType + 'Number'] += 30; SkillNode.SkillName_txt.text = SkillName; SkillNode.SkillCost_txt.text = SkillCost; SkillNode.SkillValue_txt.text = SkillVal; ++i; } } } movieClip 2285 { frame 1 { TotalSkills = this._parent._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent._parent.HeroSkill[i]; this[SkillID].DT.text = this._parent._parent.Skill('H', SkillID); this.AlphaVal = this._parent._parent['H_' + SkillID].SkillLevel * 2; if (this.AlphaVal > 100) { this.AlphaVal = 100; } this[SkillID].SkillTypeGFX._alpha = this.AlphaVal; X = 95 + this._parent._parent['H_' + SkillID].SkillLevel / 10; if (X > 250) { X = 250; } this[SkillID].SkillTypeGFX._xscale = X; this[SkillID].SkillTypeGFX._yscale = X; this[SkillID].SkillTypeGFX.gotoAndStop(this._parent._parent['H_' + SkillID].Type); this[SkillID].SkillTypeGFX2.gotoAndStop(this._parent._parent['H_' + SkillID].Type); this[SkillID].SkillTypeGFX2._visible = this._parent._parent['H_' + SkillID].Unlock; ++i; } } } movieClip 2292 Sheet2 { frame 1 { EvilShell.DT.text = this._parent.EvilTotal + ' EVIL'; HolyShell.DT.text = this._parent.HolyTotal + ' HOLY'; SpecialShell.DT.text = this._parent.SpecialTotal + ' SPECIAL'; BANNEDShell.DT.text = this._parent.BANNEDTotal + ' BANNED'; EvilShell.onPress = function () { var v2 = this._parent._parent.attachMovie('EvilSheet', 'SheetPage', 99999999); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; HolyShell.onPress = function () { var v2 = this._parent._parent.attachMovie('HolySheet', 'SheetPage', 99999998); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; SpecialShell.onPress = function () { var v2 = this._parent._parent.attachMovie('SpecialSheet', 'SheetPage', 99999997); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); R = this._parent._parent; R.GraphicEffect('Z_Discovery2', {'A': R.spin, 'B': R.grow, 'C': R.fadeOut}, {'Ref': this._parent, '_x': this._x, '_y': this._y, 'Grow': 40, 'Life': 10, 'Spin': 50}); }; Stars_txt.text = _global.StarCount; EXIT.onPress = function () { _global.SkillsOpen = false; _global.MenuOpen = false; if (_global.GameOver == false) { _global.GamePause = false; } this._parent.removeMovieClip(); }; BACK.onPress = function () { var v2 = this._parent._parent.attachMovie('Sheet', 'SheetPage', 999999999); v2._x = 500; v2._y = 325; this._parent.removeMovieClip(); }; SHORTCUT.onPress = function () { _global.SkillsOpen = false; _global.MenuOpen = true; _global.GamePause = true; var v3 = this._parent._parent.attachMovie('Store', 'StorePage', 999999998); v3._x = 500; v3._y = 325; this._parent.removeMovieClip(); }; ObjectDepth = 0; EvilNumber = 0; HolyNumber = 0; SpecialNumber = 0; BANNEDNumber = 0; TotalSkills = this._parent.HeroSkill.length; i = 0; while (i < TotalSkills) { SkillID = this._parent.HeroSkill[i]; SkillType = this._parent['H_' + SkillID].Type; SkillCost = this._parent['H_' + SkillID].Cost; SkillLevel = this._parent['H_' + SkillID].SkillLevel; SkillName = this._parent['H_' + SkillID].SkillName; SkillVal = this._parent.Skill('H', SkillID); SkillNode._x = this[SkillType + 'Shell']._x; SkillNode._y = -280 + this[SkillType + 'Number']; this[SkillType + 'Number'] += 30; SkillNode.SkillName_txt.text = SkillName; SkillNode.SkillCost_txt.text = SkillCost; SkillNode.SkillValue_txt.text = SkillVal; ++i; } } } movieClip 2294 Z_SpellShield { } movieClip 2296 Z_Barrier { } movieClip 2300 { } movieClip 2302 { } movieClip 2304 { } movieClip 2305 GAMEOVER { frame 1 { BTN.onPress = function () { if (_global.SkillsOpen == false) { this._parent._parent.ContinueGame(); this._parent.removeMovieClip(); } }; BTN2.onPress = function () { if (_global.SkillsOpen == false) { this._parent._parent.ViewSkills(); } }; } } movieClip 2407 Card_Cooldown_Time { frame 1 { stop(); } } movieClip 2409 BrokenShield { } movieClip 2411 BrokenEquip { } movieClip 2413 BrokenBomb { } movieClip 2415 RedMagic { } movieClip 2417 Magic { } movieClip 2421 { frame 1 { stop(); } } movieClip 2422 Z_EnchantedSword { instance of movieClip 2421 { onClipEvent (enterFrame) { ++this.Time; if (this._parent.Speed != undefined && this.Time < 25) { this._rotation += 30; } } } } movieClip 2425 { } movieClip 2465 SpiderUnit { frame 1 { if (_global.SpiderShield != true) { this.Shield._visible = false; } } frame 1 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 16 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 32 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 48 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 57 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } frame 74 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 40)); } } frame 75 { gotoAndStop(75 + Math.ceil(Math.random() * 25)); } } movieClip 2479 CookiesInfo { frame 1 { this.BTN.onPress = function () { this._parent.removeMovieClip(); }; } } movieClip 2482 ModeStageDisplay { } movieClip 2485 { } movieClip 2487 { } movieClip 2504 GameMode { frame 1 { stop(); } } movieClip 2506 { } movieClip 2507 { } movieClip 2508 ChallengeSelect { frame 1 { function AddEffectText(EffectType, Amount, GB) { this.GameModeInfo.BG._yscale += 100; this.GameModeInfo.ModeUnlock.BG._yscale += 100; var v2 = this.GameModeInfo.attachMovie(GB + 'EffectText', 'ET' + ModeInfoLineNumber, ModeInfoLineNumber); v2._y = 20 + ModeInfoLineNumber * 20; if (GB == 'Bad') { v2._y += 10; } if (Amount != true) { v2.DT.text = this._parent['GM_' + EffectType].Info1 + Amount + this._parent['GM_' + EffectType].Info2; } else { v2.DT.text = this._parent['GM_' + EffectType].Info1 + this._parent['GM_' + EffectType].Info2; } ++ModeInfoLineNumber; } function LoadGameModeInfo(ModeID) { UnlockStage = this._parent['G_Mode' + ModeID].UnlockStage; if (this._parent.HighestStage >= UnlockStage) { this.GameModeInfo.ModeUnlock._visible = false; } else { this.GameModeInfo.ModeUnlock.DT.text = 'Unlock on Stage ' + UnlockStage; this.GameModeInfo.ModeUnlock.swapDepths(1000); this.GameModeInfo.ModeUnlock._visible = true; } ClearModeInfo(); this.GameModeInfo.Mode.gotoAndStop(ModeID + 1); EffectsArray = this._parent.ModeEffects; EffectLength = EffectsArray.length; ModeData = this._parent['G_Mode' + ModeID]; if (ModeData != undefined) { i = 0; while (i < EffectLength) { Effect = this._parent['GM_' + EffectsArray[i]]; ModeAmount = ModeData[EffectsArray[i]]; GoodBad = Effect.GoodBad; BaseAmount = Effect.BaseAmount; if (GoodBad == 'Good' && ModeAmount > BaseAmount) { AddEffectText(EffectsArray[i], ModeAmount, 'Good'); } if (GoodBad == 'Bad' && ModeAmount < BaseAmount) { AddEffectText(EffectsArray[i], ModeAmount, 'Good'); } ++i; } i = 0; while (i < EffectLength) { Effect = this._parent['GM_' + EffectsArray[i]]; ModeAmount = ModeData[EffectsArray[i]]; GoodBad = Effect.GoodBad; BaseAmount = Effect.BaseAmount; if (GoodBad == 'Good' && ModeAmount < BaseAmount) { AddEffectText(EffectsArray[i], ModeAmount, 'Bad'); } if (GoodBad == 'Bad' && ModeAmount > BaseAmount) { AddEffectText(EffectsArray[i], ModeAmount, 'Bad'); } ++i; } } } function ClearModeInfo() { this.GameModeInfo.BG._yscale = 100; this.GameModeInfo.ModeUnlock.BG._yscale = 100; i = 0; while (i < ModeInfoLineNumber) { this.GameModeInfo['ET' + i].removeMovieClip(); ++i; } ModeInfoLineNumber = 0; } Length = this._parent.GameModes.length; i = 0; while (i < Length) { var ModeOption = this.attachMovie('GameMode', 'GM' + i, i); ModeOption._x = ColumnMarker._x; ModeOption._y = ColumnMarker._y - i * 25; ModeOption.gotoAndStop(i + 1); ModeOption.ID = i; ModeOption.BTN.onRelease = function () { if (this._parent._parent._parent.HighestStage >= this._parent._parent._parent['G_Mode' + this._parent.ID].UnlockStage) { this._parent._parent._parent.ChallengeMenu = false; this._parent._parent._parent.LoadGameModeEffects(this._parent.ID); this._parent._parent.removeMovieClip(); } }; ModeOption.BTN.onRollOver = function () { LoadGameModeInfo(this._parent.ID); }; if (i > 0) { var ModeStage = this.attachMovie('ModeStageDisplay', 'MSD' + i, i + Length * 1000); ModeStage._x = ColumnMarker._x; ModeStage._y = ColumnMarker._y - i * 25; S = this._parent['Mode' + i + 'Stage']; ModeStage.DT.text = 'Stage ' + S + '( ' + Math.ceil(S * (100 + this._parent['G_Mode' + i].StageBonus) / 100) + ')'; } ++i; } ModeInfoLineNumber = 0; LoadGameModeInfo(0); } } movieClip 2510 { } movieClip 2511 TreasureChest { } movieClip 2513 Emitter { frame 1 { PD = 1000000; Spin = 0; tyu = 0; ph = 1; yu = -1; this.onEnterFrame = function () { Life = this._parent.Deaths; if (Life == undefined) { Life = 0; } if (Life < 10) { this._visible = false; } else { if (Life < 100) { this._alpha = Life; } } if (tyu == 0) { ph = 1; yu *= -1; rty = 0.1; xcv = 0; } tyu += yu; if (tyu % 50 == 0) { xcv -= 10; } if (tyu % 100 == 0) { xcv = 10; } if (tyu % 200 == 0) { ph = tyu / 200; } if (tyu % 250 == 0) { rty *= -1; } if (tyu % 500 == 0) { rty = 0.2; } if (tyu == 1000) { yu *= -1; } xcv += rty; i = 0; while (i <= 2) { var v3 = this.attachMovie('Shell', 'S' + PD, PD); --PD; if (_global.ParticleMode == 1) { v3._x = this._parent._xmouse; v3._y = this._parent._ymouse; } else { v3._x = 0; v3._y = 0; } v3._xscale = Math.random() * 0 + 12; v3._yscale = v3._xscale / 2; v3._rotation = i * 120 + Spin; Spin += 0.5; if (Spin > 1040) { Spin = 0; } v3.gotoAndStop(ph); v3.Life = Math.floor(Life / 3); v3.tyu = tyu; v3.onEnterFrame = function () { if (this._yscale > 2) { this._xscale -= 0.05; this._yscale -= 0.05; } else { this.Life -= 9; } this.Life -= 1; if (this.Life < 1) { this.removeMovieClip(); } if (this._alpha < 5) { this.removeMovieClip(); } this._rotation += xcv / ((tyu % 1) / 2 + 1); speedx = Math.sin(this._rotation * 0.0174532925199433) * 3; speedy = Math.cos(this._rotation * 0.0174532925199433) * 3 * -1; this._y += speedx; this._x += speedy; }; ++i; } }; } } movieClip 2522 Ghost { frame 1 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 12 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 23 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 34 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 45 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 56 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 67 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } frame 78 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 80)); } } } movieClip 2523 EvilGhost { } movieClip 2545 { } movieClip 2548 { } movieClip 2549 HeroClassBox { } movieClip 2558 { frame 1 { stop(); } } movieClip 2561 { frame 1 { stop(); } } movieClip 2564 { frame 1 { stop(); } } movieClip 2565 SelectHeroClass { frame 1 { function LoadPage(Page) { i = 0; while (i < 24) { HighestStage = this._parent.HighestStage; column10 = UnlockLevels[i % 6 + 6 * (Page - 1)]; var v2 = this.attachMovie('HeroClassBox', 'Box' + i, i); v2._x = -361 + (i % 6) * 145; v2._y = -198 + Math.floor(i / 6) * 147; v2._xscale = 120; v2._yscale = 120; Pi = i + (Page - 1) * 24; v2.ClassName_txt.text = HeroClasses[Pi]; v2.ClassName = HeroClasses[Pi]; v2.SkillType1.gotoAndStop(this._parent['H_' + this['H_' + HeroClasses[Pi]].Skill1].Type); v2.SkillType2.gotoAndStop(this._parent['H_' + this['H_' + HeroClasses[Pi]].Skill2].Type); v2.SkillType3.gotoAndStop(this._parent['H_' + this['H_' + HeroClasses[Pi]].Skill3].Type); if (HighestStage < column10) { v2.ClassUnlock.DT.text = 'Unlock on Stage ' + column10; } else { v2.ClassUnlock._visible = false; v2.Skill1_txt.text = this._parent['H_' + this['H_' + HeroClasses[Pi]].Skill1].SkillName; v2.Skill2_txt.text = this._parent['H_' + this['H_' + HeroClasses[Pi]].Skill2].SkillName; v2.Skill3_txt.text = this._parent['H_' + this['H_' + HeroClasses[Pi]].Skill3].SkillName; v2.SkillType1.Info = this._parent['H_' + this['H_' + HeroClasses[Pi]].Skill1].Info; v2.SkillType1.onRollOver = function () { SkillDescribe.Description = this.Info; }; v2.SkillType1.onRollOut = function () { SkillDescribe.Description = undefined; }; v2.SkillType2.Info = this._parent['H_' + this['H_' + HeroClasses[Pi]].Skill2].Info; v2.SkillType2.onRollOver = function () { SkillDescribe.Description = this.Info; }; v2.SkillType2.onRollOut = function () { SkillDescribe.Description = undefined; }; v2.SkillType3.Info = this._parent['H_' + this['H_' + HeroClasses[Pi]].Skill3].Info; v2.SkillType3.onRollOver = function () { SkillDescribe.Description = this.Info; }; v2.SkillType3.onRollOut = function () { SkillDescribe.Description = undefined; }; v2.BTN.onRelease = function () { if (this._parent._parent.TransitionMode != true) { this._parent._parent.TransitionMode = true; this._parent.Chosen = true; C = this._parent.ClassName; trace(this._parent.ClassName); StageRef = this._parent._parent._parent; StageRef.HeroClass = this._parent.ClassName; StageRef.ClassSkill1 = this._parent._parent['H_' + C].Skill1; StageRef.ClassSkill2 = this._parent._parent['H_' + C].Skill2; StageRef.ClassSkill3 = this._parent._parent['H_' + C].Skill3; StageRef.SkillCostRefresh(); S = this._parent._parent['H_' + C].Skill1; StageRef['H_' + S].Unlock = true; StageRef['H_' + S].SkillLevel += 10; StageRef.Trinity1[StageRef['HeroKey_' + S]] += 10; S = this._parent._parent['H_' + C].Skill2; StageRef['H_' + S].Unlock = true; StageRef['H_' + S].SkillLevel += 10; StageRef.Trinity1[StageRef['HeroKey_' + S]] += 10; S = this._parent._parent['H_' + C].Skill3; StageRef['H_' + S].Unlock = true; StageRef['H_' + S].SkillLevel += 10; StageRef.Trinity1[StageRef['HeroKey_' + S]] += 10; } }; } ++i; } } function UnloadPage() { i = 0; while (i < 24) { this['Box' + i].removeMovieClip(); ++i; } } Index = 0; HeroClasses = new Array(); H_Shieldsman = new Object(); H_Shieldsman.Skill1 = 'BlockChance'; H_Shieldsman.Skill2 = 'BlockAmountFlat'; H_Shieldsman.Skill3 = 'PhysicalDamageReductionFlat'; HeroClasses[Index] = 'Shieldsman'; ++Index; H_Knight = new Object(); H_Knight.Skill1 = 'ArmorValue'; H_Knight.Skill2 = 'PhysicalReflectFlat'; H_Knight.Skill3 = 'CritDamageResist'; HeroClasses[Index] = 'Knight'; ++Index; H_Healer = new Object(); H_Healer.Skill1 = 'HPRegenPcnt'; H_Healer.Skill2 = 'StatusRecoveryBonus'; H_Healer.Skill3 = 'PoisonBleedResistChance'; HeroClasses[Index] = 'Healer'; ++Index; H_Priest = new Object(); H_Priest.Skill1 = 'MaxEnergyShield'; H_Priest.Skill2 = 'ShieldRegenFlat'; H_Priest.Skill3 = 'FrostChance'; HeroClasses[Index] = 'Priest'; ++Index; H_Antimage = new Object(); H_Antimage.Skill1 = 'MHP'; H_Antimage.Skill2 = 'MagicReflectPcnt'; H_Antimage.Skill3 = 'MagicEnergyShield'; HeroClasses[Index] = 'Antimage'; ++Index; H_Vampire = new Object(); H_Vampire.Skill1 = 'PhysicalDamageReductionPcnt'; H_Vampire.Skill2 = 'LifeStealPcnt'; H_Vampire.Skill3 = 'HPGainOnHit'; HeroClasses[Index] = 'Vampire'; ++Index; H_Swordsman = new Object(); H_Swordsman.Skill1 = 'PhysicalAttackDamage'; H_Swordsman.Skill2 = 'AttackSpeed'; H_Swordsman.Skill3 = 'Flurry3xChance'; HeroClasses[Index] = 'Swordsman'; ++Index; H_Assassin = new Object(); H_Assassin.Skill1 = 'Crit8xChance'; H_Assassin.Skill2 = 'BleedChance'; H_Assassin.Skill3 = 'PhysicalArmorPenetration'; HeroClasses[Index] = 'Assassin'; ++Index; H_Samurai = new Object(); H_Samurai.Skill1 = 'Crit4xChance'; H_Samurai.Skill2 = 'CounterAttack'; H_Samurai.Skill3 = 'AttackChargeEfficiency'; HeroClasses[Index] = 'Samurai'; ++Index; H_Fighter = new Object(); H_Fighter.Skill1 = 'Crit2xChance'; H_Fighter.Skill2 = 'StunChance'; H_Fighter.Skill3 = 'ArmorValue'; HeroClasses[Index] = 'Fighter'; ++Index; H_Berserker = new Object(); H_Berserker.Skill1 = 'RageChance'; H_Berserker.Skill2 = 'RageDamageBonusFlat'; H_Berserker.Skill3 = 'ExtraAxesRarity'; HeroClasses[Index] = 'Berserker'; ++Index; H_Spellsword = new Object(); H_Spellsword.Skill1 = 'EnchantedAttackChance'; H_Spellsword.Skill2 = 'ArmorDamageFlat'; H_Spellsword.Skill3 = 'ShockChance'; HeroClasses[Index] = 'Spellsword'; ++Index; H_Mage = new Object(); H_Mage.Skill1 = 'CastRate'; H_Mage.Skill2 = 'ManaRegenBonus'; H_Mage.Skill3 = 'CascadeChance'; HeroClasses[Index] = 'Mage'; ++Index; H_Pyromancer = new Object(); H_Pyromancer.Skill1 = 'IgniteChance'; H_Pyromancer.Skill2 = 'IgniteDamage'; H_Pyromancer.Skill3 = 'BurnChance'; HeroClasses[Index] = 'Pyromancer'; ++Index; H_Wizard = new Object(); H_Wizard.Skill1 = 'Cast5xChance'; H_Wizard.Skill2 = 'Cast25xChance'; H_Wizard.Skill3 = 'VoidChance'; HeroClasses[Index] = 'Wizard'; ++Index; H_Sorcerer = new Object(); H_Sorcerer.Skill1 = 'FreezeChance'; H_Sorcerer.Skill2 = 'FrostChance'; H_Sorcerer.Skill3 = 'ExtraCharmsRarity'; HeroClasses[Index] = 'Sorcerer'; ++Index; H_Cultist = new Object(); H_Cultist.Skill1 = 'PoisonChance'; H_Cultist.Skill2 = 'PoisonDamagePcnt'; H_Cultist.Skill3 = 'ExecutionBelowPcnt'; HeroClasses[Index] = 'Cultist'; ++Index; H_Sage = new Object(); H_Sage.Skill1 = 'HealChance'; H_Sage.Skill2 = 'SkillCostReduction'; H_Sage.Skill3 = 'ItemDefenseRollBonus'; HeroClasses[Index] = 'Sage'; ++Index; H_Scholar = new Object(); H_Scholar.Skill1 = 'StarGainBonus'; H_Scholar.Skill2 = 'Star2xChance'; H_Scholar.Skill3 = 'BookPriceReductionFlat'; HeroClasses[Index] = 'Scholar'; ++Index; H_Merchant = new Object(); H_Merchant.Skill1 = 'ExtraItemFind'; H_Merchant.Skill2 = 'ItemSellValueIncreasePcnt'; H_Merchant.Skill3 = 'ItemPriceReductionPcnt'; HeroClasses[Index] = 'Merchant'; ++Index; H_Enchanter = new Object(); H_Enchanter.Skill1 = 'ItemMagicRollBonus'; H_Enchanter.Skill2 = 'ItemCooldownBonusChance'; H_Enchanter.Skill3 = 'ItemUsesBonusChance'; HeroClasses[Index] = 'Enchanter'; ++Index; H_Blacksmith = new Object(); H_Blacksmith.Skill1 = 'ExtraItemFind'; H_Blacksmith.Skill2 = 'ItemAttackRollBonus'; H_Blacksmith.Skill3 = 'StunChance'; HeroClasses[Index] = 'Blacksmith'; ++Index; H_Craftsman = new Object(); H_Craftsman.Skill1 = 'ItemRarityIncreaseFlat'; H_Craftsman.Skill2 = 'ItemUtilityRollBonus'; H_Craftsman.Skill3 = 'ArmorValueBonusPcnt'; HeroClasses[Index] = 'Craftsman'; ++Index; H_Armorer = new Object(); H_Armorer.Skill1 = 'ItemDefenseRollBonus'; H_Armorer.Skill2 = 'ArmorValue'; H_Armorer.Skill3 = 'ArmorValueBonusPcnt'; HeroClasses[Index] = 'Armorer'; ++Index; H_Pacifist = new Object(); H_Pacifist.Skill1 = 'GuardianPower'; H_Pacifist.Skill2 = 'AttackNullification'; H_Pacifist.Skill3 = 'EvadeChance'; HeroClasses[Index] = 'Pacifist'; ++Index; H_Golem = new Object(); H_Golem.Skill1 = 'PhysicalDamageReductionFlat'; H_Golem.Skill2 = 'MagicDamageReductionFlat'; H_Golem.Skill3 = 'Protection'; HeroClasses[Index] = 'Golem'; ++Index; H_Spirit = new Object(); H_Spirit.Skill1 = 'ShieldRegenFlat'; H_Spirit.Skill2 = 'ShieldBurn'; H_Spirit.Skill3 = 'DivineShield'; HeroClasses[Index] = 'Spirit'; ++Index; H_Banshee = new Object(); H_Banshee.Skill1 = 'BlackMirror'; H_Banshee.Skill2 = 'RegenerationBonus'; H_Banshee.Skill3 = 'ShieldRegenFlat'; HeroClasses[Index] = 'Banshee'; ++Index; H_Revenant = new Object(); H_Revenant.Skill1 = 'ArmorLink'; H_Revenant.Skill2 = 'ArmorBurn'; H_Revenant.Skill3 = 'ArmorValueBonusPcnt'; HeroClasses[Index] = 'Revenant'; ++Index; H_Immortal = new Object(); H_Immortal.Skill1 = 'MHP'; H_Immortal.Skill2 = 'Aegis'; H_Immortal.Skill3 = 'LifePower'; HeroClasses[Index] = 'Immortal'; ++Index; H_Giant = new Object(); H_Giant.Skill1 = 'MaxOverkill'; H_Giant.Skill2 = 'Crit8xChance'; H_Giant.Skill3 = 'Crit16xChance'; HeroClasses[Index] = 'Giant'; ++Index; H_Ninja = new Object(); H_Ninja.Skill1 = 'GhostBlade'; H_Ninja.Skill2 = 'AttackSpeed'; H_Ninja.Skill3 = 'BleedChance'; HeroClasses[Index] = 'Ninja'; ++Index; H_Crusader = new Object(); H_Crusader.Skill1 = 'Conviction'; H_Crusader.Skill2 = 'SmiteDamage'; H_Crusader.Skill3 = 'BurstAttack'; HeroClasses[Index] = 'Crusader'; ++Index; H_Fracture = new Object(); H_Fracture.Skill1 = 'MagicChargesOnAttack'; H_Fracture.Skill2 = 'ThousandNeedles'; H_Fracture.Skill3 = 'Flurry9xChance'; HeroClasses[Index] = 'Fracture'; ++Index; H_Paladin = new Object(); H_Paladin.Skill1 = 'EnergyShieldDamageFlat'; H_Paladin.Skill2 = 'Conviction'; H_Paladin.Skill3 = 'DivineArmor'; HeroClasses[Index] = 'Paladin'; ++Index; H_Phantasm = new Object(); H_Phantasm.Skill1 = 'BloodLink'; H_Phantasm.Skill2 = 'CurseOfAttack'; H_Phantasm.Skill3 = 'LifeStealPcnt'; HeroClasses[Index] = 'Phantasm'; ++Index; H_Conduit = new Object(); H_Conduit.Skill1 = 'LightningStrike'; H_Conduit.Skill2 = 'ShockChance'; H_Conduit.Skill3 = 'ShockDamageAmplifyPcnt'; HeroClasses[Index] = 'Conduit'; ++Index; H_Inferno = new Object(); H_Inferno.Skill1 = 'FireStorm'; H_Inferno.Skill2 = 'ArmorLink'; H_Inferno.Skill3 = 'ArmorValue'; HeroClasses[Index] = 'Inferno'; ++Index; H_Nova = new Object(); H_Nova.Skill1 = 'Cast25xChance'; H_Nova.Skill2 = 'BurstMagic'; H_Nova.Skill3 = 'GlassCannon'; HeroClasses[Index] = 'Nova'; ++Index; H_Angel = new Object(); H_Angel.Skill1 = 'DivineWrath'; H_Angel.Skill2 = 'AttackNullification'; H_Angel.Skill3 = 'CascadeChance'; HeroClasses[Index] = 'Angel'; ++Index; H_BlackMage = new Object(); H_BlackMage.Skill1 = 'CurseOfMagic'; H_BlackMage.Skill2 = 'CascadeChance'; H_BlackMage.Skill3 = 'CascadeDamageBonusPcnt'; HeroClasses[Index] = 'BlackMage'; ++Index; H_Elemental = new Object(); H_Elemental.Skill1 = 'EnchantedEnergyShield'; H_Elemental.Skill2 = 'BlackShield'; H_Elemental.Skill3 = 'HealChance'; HeroClasses[Index] = 'Elemental'; ++Index; H_Ranger = new Object(); H_Ranger.Skill1 = 'ExtraBowsRarity'; H_Ranger.Skill2 = 'GuardianPower'; H_Ranger.Skill3 = 'SummonDecoy'; HeroClasses[Index] = 'Ranger'; ++Index; H_Blaster = new Object(); H_Blaster.Skill1 = 'ExtraBombsRarity'; H_Blaster.Skill2 = 'GlassCannon'; H_Blaster.Skill3 = 'BlackWrath'; HeroClasses[Index] = 'Blaster'; ++Index; H_Crusher = new Object(); H_Crusher.Skill1 = 'ExtraShieldsRarity'; H_Crusher.Skill2 = 'ItemSpecialRollBonus'; H_Crusher.Skill3 = 'ArmorLink'; HeroClasses[Index] = 'Crusher'; ++Index; H_Cleric = new Object(); H_Cleric.Skill1 = 'GlobalItemHeal'; H_Cleric.Skill2 = 'BlessedWeapon'; H_Cleric.Skill3 = 'ItemRarityIncreaseFlat'; HeroClasses[Index] = 'Cleric'; ++Index; H_King = new Object(); H_King.Skill1 = 'ExtraSwordsRarity'; H_King.Skill2 = 'SmiteDamage'; H_King.Skill3 = 'Vengeance'; HeroClasses[Index] = 'King'; ++Index; H_Enigma = new Object(); H_Enigma.Skill1 = 'MothBlessing'; H_Enigma.Skill2 = 'Luck'; H_Enigma.Skill3 = 'Star2xChance'; HeroClasses[Index] = 'Enigma'; ++Index; H_Dragoon = new Object(); H_Dragoon.Skill1 = 'ReflectBonus'; H_Dragoon.Skill2 = 'PhysicalReflectFlat'; H_Dragoon.Skill3 = 'SpellShield'; HeroClasses[Index] = 'Dragoon'; ++Index; H_Harbinger = new Object(); H_Harbinger.Skill1 = 'Barrier'; H_Harbinger.Skill2 = 'Assimilation'; H_Harbinger.Skill3 = 'ArmorLink'; HeroClasses[Index] = 'Harbinger'; ++Index; H_Demon = new Object(); H_Demon.Skill1 = 'BurnAffinity'; H_Demon.Skill2 = 'BlackMirror'; H_Demon.Skill3 = 'Vengeance'; HeroClasses[Index] = 'Demon'; ++Index; H_Saint = new Object(); H_Saint.Skill1 = 'SpectralArmor'; H_Saint.Skill2 = 'VoidReduction'; H_Saint.Skill3 = 'StageScalingIncrease'; HeroClasses[Index] = 'Saint'; ++Index; H_Bard = new Object(); H_Bard.Skill1 = 'Suppression'; H_Bard.Skill2 = 'AttackNullification'; H_Bard.Skill3 = 'MagicDrain'; HeroClasses[Index] = 'Bard'; ++Index; H_Overlord = new Object(); H_Overlord.Skill1 = 'SpectralArmor'; H_Overlord.Skill2 = 'HauntedArmor'; H_Overlord.Skill3 = 'DamageResist'; HeroClasses[Index] = 'Overlord'; ++Index; H_Warrior = new Object(); H_Warrior.Skill1 = 'AttackChargeEfficiency'; H_Warrior.Skill2 = 'ArmorOnAttack'; H_Warrior.Skill3 = 'StunFreezeThreshold'; HeroClasses[Index] = 'Warrior'; ++Index; H_Monk = new Object(); H_Monk.Skill1 = 'ConvertMagicCharges'; H_Monk.Skill2 = 'MagicChargesOnAttack'; H_Monk.Skill3 = 'AttackChargeEfficiency'; HeroClasses[Index] = 'Monk'; ++Index; H_Champion = new Object(); H_Champion.Skill1 = 'CounterAttack'; H_Champion.Skill2 = 'Flurry3xChance'; H_Champion.Skill3 = 'Flurry9xChance'; HeroClasses[Index] = 'Champion'; ++Index; H_Cavalier = new Object(); H_Cavalier.Skill1 = 'PhysicalAttackDamage'; H_Cavalier.Skill2 = 'PhysicalAttackBonusPcnt'; H_Cavalier.Skill3 = 'CritDamageEnhancement'; HeroClasses[Index] = 'Cavalier'; ++Index; H_Undead = new Object(); H_Undead.Skill1 = 'UndyingAttack'; H_Undead.Skill2 = 'ArmorOnAttack'; H_Undead.Skill3 = 'HauntedArmor'; HeroClasses[Index] = 'Undead'; ++Index; H_Templar = new Object(); H_Templar.Skill1 = 'EnchantedAttackChance'; H_Templar.Skill2 = 'MagicSkillGrowth'; H_Templar.Skill3 = 'BurstAttack'; HeroClasses[Index] = 'Templar'; ++Index; H_Shaman = new Object(); H_Shaman.Skill1 = 'MagicDamage'; H_Shaman.Skill2 = 'CurseOfMagic'; H_Shaman.Skill3 = 'DestructiveMagic'; HeroClasses[Index] = 'Shaman'; ++Index; H_Druid = new Object(); H_Druid.Skill1 = 'CastRate'; H_Druid.Skill2 = 'AcidChance'; H_Druid.Skill3 = 'AcidDamage'; HeroClasses[Index] = 'Druid'; ++Index; H_Cinder = new Object(); H_Cinder.Skill1 = 'IgniteChance'; H_Cinder.Skill2 = 'IgniteDamage'; H_Cinder.Skill3 = 'Hellfire'; HeroClasses[Index] = 'Cinder'; ++Index; H_Oracle = new Object(); H_Oracle.Skill1 = 'CastRate'; H_Oracle.Skill2 = 'DirectDamage'; H_Oracle.Skill3 = 'CancelEvadeChance'; HeroClasses[Index] = 'Oracle'; ++Index; H_Invoker = new Object(); H_Invoker.Skill1 = 'Assimilation'; H_Invoker.Skill2 = 'EnchantedArmor'; H_Invoker.Skill3 = 'SpellvampPcnt'; HeroClasses[Index] = 'Invoker'; ++Index; H_Lich = new Object(); H_Lich.Skill1 = 'IronMaiden'; H_Lich.Skill2 = 'ArmorDamageFlat'; H_Lich.Skill3 = 'Cast5xChance'; HeroClasses[Index] = 'Lich'; ++Index; H_Alchemist = new Object(); H_Alchemist.Skill1 = 'ExtraPotionsRarity'; H_Alchemist.Skill2 = 'Remedy'; H_Alchemist.Skill3 = 'ItemDestroyValueIncreaseFlat'; HeroClasses[Index] = 'Alchemist'; ++Index; H_Reaper = new Object(); H_Reaper.Skill1 = 'ExtraAxesRarity'; H_Reaper.Skill2 = 'CursedItems'; H_Reaper.Skill3 = 'SmiteDamage'; HeroClasses[Index] = 'Reaper'; ++Index; H_Warlock = new Object(); H_Warlock.Skill1 = 'ExtraWandsRarity'; H_Warlock.Skill2 = 'ItemMagicRollBonus'; H_Warlock.Skill3 = 'Statusvamp'; HeroClasses[Index] = 'Warlock'; ++Index; H_Scout = new Object(); H_Scout.Skill1 = 'ExtraItemFind'; H_Scout.Skill2 = 'ItemRarityIncreaseFlat'; H_Scout.Skill3 = 'GoldFindIncreasePcnt'; HeroClasses[Index] = 'Scout'; ++Index; H_Engineer = new Object(); H_Engineer.Skill1 = 'ExtraBombsRarity'; H_Engineer.Skill2 = 'CorrosivePoison'; H_Engineer.Skill3 = 'ItemStatusPower'; HeroClasses[Index] = 'Engineer'; ++Index; H_Alien = new Object(); H_Alien.Skill1 = 'DefenseSkillGrowth'; H_Alien.Skill2 = 'AttackSkillGrowth'; H_Alien.Skill3 = 'MagicSkillGrowth'; HeroClasses[Index] = 'Alien'; ++Index; UnlockLevels = new Array(); UnlockLevels = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 125, 150, 175, 200, 225, 250, 275, 300, 350, 400, 450, 500]; var SkillDescribe = this.attachMovie('SkillDescription', 'SkillDescribe', 20000); SkillDescribe._x = -10000; SkillDescribe.DT.text = ''; Page1.onRelease = function () { if (TransitionMode != true) { UnloadPage(); LoadPage(1); SelectedPage = 1; } }; Page2.onRelease = function () { if (TransitionMode != true) { UnloadPage(); LoadPage(2); SelectedPage = 2; } }; Page3.onRelease = function () { if (TransitionMode != true) { UnloadPage(); LoadPage(3); SelectedPage = 3; } }; SelectedPage = 1; LoadPage(1); TransitionMode = false; ClassTime = 0; this.onEnterFrame = function () { if (SelectedPage == 1) { Page1.gotoAndStop(1); } else { Page1.gotoAndStop(2); } if (SelectedPage == 2) { Page2.gotoAndStop(1); } else { Page2.gotoAndStop(2); } if (SelectedPage == 3) { Page3.gotoAndStop(1); } else { Page3.gotoAndStop(2); } if (TransitionMode == true) { SkillDescribe.Description = undefined; ++ClassTime; i = 0; while (i < 24) { if (this['Box' + i].Chosen != true) { this['Box' + i]._alpha -= 10; } else { this['Box' + i]._xscale += 3; this['Box' + i]._yscale += 3; } ++i; } if (ClassTime == 30) { if (this._parent.HeroUnlock != true) { _global.GamePause = false; _global.MenuOpen = false; } if (this._parent.HeroUnlock == true) { var v3 = this._parent.attachMovie('EnhanceSkill', 'EnhanceSkill', 2151040); v3._x = 500; v3._y = 325; v3.UsesRemaining = this._parent.SkillEnhance; } this.removeMovieClip(); } } }; } } movieClip 2610 SaveMe2Text { frame 1 { this.gotoAndStop(Math.ceil(Math.random() * 25)); } } movieClip 2616 Z_RedLightning2 { } movieClip 2620 Z_CTS { } movieClip 2622 Flower1 { } movieClip 2624 Tree1 { } movieClip 2626 Tree3 { } movieClip 2628 Tree2 { } movieClip 2630 Grass14 { } movieClip 2632 Grass8 { } frame 1 { trace(1); } frame 1 { function GraphicEffect(FX, behaviors, Data) { function NewA() { fx.TempA(); behaviors.A(fx); } function NewB() { fx.TempB(); behaviors.B(fx); } function NewC() { fx.TempC(); behaviors.C(fx); } if (Data.Ref == undefined) { Data.Ref = this; } if (Data._x == undefined) { Data._x = 0; } if (Data._y == undefined) { Data._y = 0; } if (Data._alpha == undefined) { Data._alpha = 100; } if (Data._rotation == undefined) { Data._rotation = 0; } if (Data.Life == undefined) { Data.Life = 5; } if (Data.Spin == undefined) { Data.Spin = 30; } if (Data.Speed == undefined) { Data.Speed = 20; } if (Data.Grow == undefined) { Data.Grow = 10; } if (Data.Shrink == undefined) { Data.Shrink = 3; } if (Data.FadeOut == undefined) { Data.FadeOut = 10; } var fx = Data.Ref.attachMovie(FX, 'fx' + _global.Depth, _global.Depth); fx.D = _global.Depth; ++_global.Depth; fx._x = Data._x; fx._y = Data._y; fx._alpha = Data._alpha; if (Data._xscale != undefined) { fx._xscale = Data._xscale; } if (Data._yscale != undefined) { fx._yscale = Data._yscale; } fx._rotation = Data._rotation; fx.Spin = Data.Spin; fx.Grow = Data.Grow; fx.Speed = Data.Speed; fx.Shrink = Data.Shrink; fx.FadeOut = Data.FadeOut; fx.Life = Data.Life; fx.onEnterFrame = function () { --fx.Life; if (fx.Life < 1) { fx.removeMovieClip(); } }; fx.TempA = fx.onEnterFrame; fx.onEnterFrame = function () { NewA(); }; fx.TempB = fx.onEnterFrame; fx.onEnterFrame = function () { NewB(); }; fx.TempC = fx.onEnterFrame; fx.onEnterFrame = function () { NewC(); }; } function getDist(Self, Target) { DX = Self._x - Target._x; DY = Self._y - Target._y; Dis = Math.sqrt(this.DX * this.DX + this.DY * this.DY); return Dis; } function rotateTo(Self, Target) { DX = Target._x - Self._x; DY = -(Target._y - Self._y); radAngle = Math.atan(DY / DX); if (DX < 0) { corrFactor = 270; Rotation = -radAngle * 360 / 6.283185307179586 + corrFactor; return Rotation; } corrFactor = 90; Rotation = -radAngle * 360 / 6.283185307179586 + corrFactor; return Rotation; } function run(Self) { Self._x += Math.sin(Self._rotation * PIdiv180) * Self.Speed; Self._y += Math.cos(Self._rotation * PIdiv180) * Self.Speed * -1; } function getXYvel(Self) { Self.Xvel = Math.round(100 * Math.sin(Self._rotation * 0.0174532925199433) * Self.Speed / 10) / 100; Self.Yvel = Math.round((100 * Math.cos(Self._rotation * 0.0174532925199433) * Self.Speed / 10) * -1) / 100; } function size(Self) { if (Self.MathSize != undefined) { Size = Self.MathSize; return Size; } Self.MathSize = (Self._width + Self._height) / 2; Size = Self.MathSize; return Size; } function RN(Random, Int) { if (Int == undefined) { Int = 0; } return Math.random() * Random + Int; } function RNC(Random, Int) { if (Int == undefined) { Int = 0; } return Math.ceil(Math.random() * Random + Int); } function RNF(Random, Int) { if (Int == undefined) { Int = 0; } return Math.floor(Math.random() * Random + Int); } function RNI(Random, Int) { if (Int == undefined) { Int = 0; } return Math.round(Math.random() * Random + Int); } function PC(percent) { X = Math.random() * 100; if (X < percent) { return true; } else { return false; } } function pull(Self, Target, Speed) { angle = rotateTo(Target, Self); Target._x += Math.sin(angle * 0.0174532925199433) * Speed / 10; Target._y += (Math.cos(angle * 0.0174532925199433) * Speed / 10) * -1; } function pX(Rot) { X = Math.sin(Rot * 0.0174532925199433) * 1; return X; } function pY(Rot) { Y = Math.cos(Rot * 0.0174532925199433) * 1 * -1; return Y; } function spin(Self) { Self._rotation += Self.Spin; } function grow(Self) { Self._xscale += Self.Grow; Self._yscale += Self.Grow; } function shrink(Self) { Self._xscale -= Self.Shrink; Self._yscale -= Self.Shrink; } function fadeOut(Self) { Self._alpha -= Self.FadeOut; } function homing(Self, Target, Speed) { if (Speed == undefined) { Self._rotation = rotateTo(Self, Target); } else { D = rotateTo(Self, Target); R = Self._rotation; if (R < 0) { R = 360 + R; } if (R > 360) { R %= 360; } if (R <= 180) { if (R != 180) { R2 = R + 180; } else { R2 = R + 179; } if (D < R) { Self.Turn = -1; } if (D >= R2) { Self.Turn = -1; } if (D < R2 && D > R) { Self.Turn = 1; } } if (R > 180) { R2 = R - 180; if (D > R) { Self.Turn = 1; } if (D <= R2) { Self.Turn = 1; } if (D > R2 && D < R) { Self.Turn = -1; } } Self._rotation += Speed * Self.Turn; X = R - D; if (X < 0) { X *= -1; } if (X <= Speed) { Self._rotation = D; } } } function BigNumber(BN) { if (_global.NumberCrunch != true) { BN = Math.floor(BN); return BN; } else { if (BN == 0) { return '0'; } else { InvertFlag = false; if (BN < 0) { BN = Math.abs(BN); InvertFlag = true; } BN = Math.ceil(BN); NumTag = ''; NumSize = Math.floor(Math.log(BN) / log10); NumTag = NumTagArray[Math.floor(NumSize / 3)]; BN /= Math.pow(10, Math.floor(NumSize / 3) * 3); BN = Math.round(BN * 10) / 10; if (InvertFlag == true) { BN *= -1; } return BN + NumTag; } } } PIdiv180 = 0.01745; NumTagArray = ['', 'k', 'm', 'B', 'T', 'x10^15', 'x10^18', 'x10^21', 'x10^24', 'x10^27', 'x10^30', 'x10^33', 'x10^36', 'x10^39', 'x10^42', 'x10^45', 'x10^48', 'x10^51', 'x10^54', 'x10^57', 'x10^60', 'x10^63', 'x10^66', 'x10^69', 'x10^72', 'x10^75', 'x10^78', 'x10^81', 'x10^84', 'x10^87', 'x10^90', 'x10^93', 'x10^96', 'x10^99', 'x10^102', 'x10^105', 'x10^108', 'x10^111', 'x10^114', 'x10^117', 'x10^120', 'x10^123', 'x10^126', 'x10^129', 'x10^132', 'x10^135', 'x10^138', 'x10^141', 'x10^144', 'x10^147', 'x10^150', 'x10^153', 'x10^156', 'x10^159', 'x10^162', 'x10^165', 'x10^168', 'x10^171', 'x10^174', 'x10^177', 'x10^180', 'x10^183', 'x10^186', 'x10^189', 'x10^192', 'x10^195', 'x10^198', 'x10^201', 'x10^204', 'x10^207', 'x10^210', 'x10^213', 'x10^216', 'x10^219', 'x10^222', 'x10^225', 'x10^228', 'x10^231', 'x10^234', 'x10^237', 'x10^240', 'x10^243', 'x10^246', 'x10^249', 'x10^252', 'x10^255', 'x10^258', 'x10^261', 'x10^264', 'x10^267', 'x10^270', 'x10^273', 'x10^276', 'x10^279', 'x10^282']; log10 = Math.LN10; } frame 1 { function doNothing() {} function link() { getURL('http://www.kongregate.com/accounts/TheGrandestine', '_blank'); } function link2() { getURL('http://www.kongregate.com', '_blank'); } function link3() { getURL('http://www.kongregate.com/games/TheGrandestine/undefeated-spider', '_blank'); } MENU = new ContextMenu(); MENU.hideBuiltInItems(); item1 = new ContextMenuItem('Joseph Lormand', link); item2 = new ContextMenuItem('Created for Kongregate!', link2); item3 = new ContextMenuItem('____________________', doNothing); item4 = new ContextMenuItem('(Quality Automagically Adjusts)', doNothing); MENU.customItems.push(item1); MENU.customItems.push(item2); MENU.customItems.push(item3); MENU.customItems.push(item4); this.menu = MENU; _parent.menu = MENU; _global.menu = MENU; } frame 1 { var kongregate = _global.kongregate; kongregate.services.connect(); stop(); this.onEnterFrame = function () { percentloaded = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * 100); _global.Percent = percentloaded / 100; GlobalPercent_txt.text = Math.floor(_global.Percent * 100) + '%'; if (_global.Percent >= 1) { this.play(); this.onEnterFrame = function () {}; } }; } movieClip 2636 { frame 1 { this.swapDepths(1534563456); } } frame 2 { var urlString = _root._url; if (urlString.indexOf('kongregate.com') == -1) { KongLock._visible = true; } else { KongLock._visible = false; } } frame 2 { StartGame.onPress = function () { if (ChallengeMenu != true) { RefreshPowers(); this._parent.Spider.removeMovieClip(); this._parent.gotoAndStop(3); } }; MoreInfoBTN.onPress = function () { var v2 = this._parent.attachMovie('CookiesInfo', 'cookiesWTF', 500); v2._x = 500; v2._y = 325; v2._xscale = 120; v2._yscale = 120; }; } frame 2 { function LoadGameModeEffects(ModeID) { ModeSelect.gotoAndStop(1 + ModeID); _global.GameMode = ModeID; _global.StageBonus = this['G_Mode' + ModeID].StageBonus; _global.GoldBonus = this['G_Mode' + ModeID].GoldBonus; _global.StarBonus = this['G_Mode' + ModeID].StarBonus; _global.RarityBonus = this['G_Mode' + ModeID].RarityBonus; _global.SpiderBaseHP = this['G_Mode' + ModeID].SpiderBaseHP; _global.SpiderStats = this['G_Mode' + ModeID].SpiderStats; _global.SpiderGrowth = this['G_Mode' + ModeID].SpiderGrowth; _global.SpiderDamageBonus = this['G_Mode' + ModeID].SpiderDamageBonus; _global.SpiderDefenseBonus = this['G_Mode' + ModeID].SpiderDefenseBonus; _global.SpiderRandomPrevent = this['G_Mode' + ModeID].SpiderRandomPrevent; _global.TimeTrial = this['G_Mode' + ModeID].TimeTrial; _global.SpiderDashes = this['G_Mode' + ModeID].SpiderDashes; _global.SpiderShield = this['G_Mode' + ModeID].SpiderShield; _global.SpiderVenom = this['G_Mode' + ModeID].SpiderVenom; _global.BunnyCaptive = this['G_Mode' + ModeID].BunnyCaptive; _global.SpiderWrath = this['G_Mode' + ModeID].SpiderWrath; _global.LockedSkills = this['G_Mode' + ModeID].LockedSkills; _global.StorePrices = this['G_Mode' + ModeID].StorePrices; } ChallengeMenu = false; ModeSelect.BTN.onPress = function () { if (ChallengeMenu == false) { ChallengeMenu = true; var v2 = this._parent._parent.attachMovie('ChallengeSelect', 'ChallengeSelect', 1357246); v2._x = 500; v2._y = 325; } }; SelectedMode = 0; Index = 0; GameModes = new Array(); G_Mode0 = new Object(); GameModes[Index] = 'Mode0'; ++Index; G_Mode0.UnlockStage = 0; G_Mode0.StageBonus = 0; G_Mode0.GoldBonus = 0; G_Mode0.StarBonus = 0; G_Mode0.RarityBonus = 0; G_Mode0.SpiderBaseHP = 0; G_Mode0.SpiderStats = 0; G_Mode0.SpiderGrowth = 0; G_Mode0.SpiderDamageBonus = 0; G_Mode0.SpiderDefenseBonus = 0; G_Mode0.SpiderRandomPrevent = false; G_Mode0.TimeTrial = false; G_Mode0.SpiderDashes = false; G_Mode0.SpiderShield = false; G_Mode0.SpiderVenom = false; G_Mode0.BunnyCaptive = false; G_Mode0.SpiderWrath = false; G_Mode0.LockedSkills = 0; G_Mode0.StorePrices = 100; G_Mode1 = new Object(); GameModes[Index] = 'Mode1'; ++Index; G_Mode1.UnlockStage = 25; G_Mode1.StageBonus = 5; G_Mode1.GoldBonus = 0; G_Mode1.StarBonus = 50; G_Mode1.RarityBonus = 0; G_Mode1.SpiderBaseHP = 250; G_Mode1.SpiderStats = 4; G_Mode1.SpiderGrowth = 0; G_Mode1.SpiderDamageBonus = 0; G_Mode1.SpiderDefenseBonus = 0; G_Mode1.SpiderRandomPrevent = false; G_Mode1.TimeTrial = false; G_Mode1.SpiderDashes = false; G_Mode1.SpiderShield = false; G_Mode1.SpiderVenom = false; G_Mode1.BunnyCaptive = false; G_Mode1.SpiderWrath = false; G_Mode1.LockedSkills = 0; G_Mode1.StorePrices = 100; G_Mode2 = new Object(); GameModes[Index] = 'Mode2'; ++Index; G_Mode2.UnlockStage = 50; G_Mode2.StageBonus = 10; G_Mode2.GoldBonus = 50; G_Mode2.StarBonus = 125; G_Mode2.RarityBonus = 0; G_Mode2.SpiderBaseHP = 1000; G_Mode2.SpiderStats = 6; G_Mode2.SpiderGrowth = 5; G_Mode2.SpiderDamageBonus = 0; G_Mode2.SpiderDefenseBonus = 0; G_Mode2.SpiderRandomPrevent = false; G_Mode2.TimeTrial = false; G_Mode2.SpiderDashes = false; G_Mode2.SpiderShield = false; G_Mode2.SpiderVenom = false; G_Mode2.BunnyCaptive = false; G_Mode2.SpiderWrath = false; G_Mode2.LockedSkills = 0; G_Mode2.StorePrices = 100; G_Mode3 = new Object(); GameModes[Index] = 'Mode3'; ++Index; G_Mode3.UnlockStage = 75; G_Mode3.StageBonus = 15; G_Mode3.GoldBonus = 50; G_Mode3.StarBonus = 225; G_Mode3.RarityBonus = 25; G_Mode3.SpiderBaseHP = 2500; G_Mode3.SpiderStats = 8; G_Mode3.SpiderGrowth = 15; G_Mode3.SpiderDamageBonus = 0; G_Mode3.SpiderDefenseBonus = 0; G_Mode3.SpiderRandomPrevent = false; G_Mode3.TimeTrial = false; G_Mode3.SpiderDashes = false; G_Mode3.SpiderShield = false; G_Mode3.SpiderVenom = false; G_Mode3.BunnyCaptive = false; G_Mode3.SpiderWrath = false; G_Mode3.LockedSkills = 0; G_Mode3.StorePrices = 150; G_Mode4 = new Object(); GameModes[Index] = 'Mode4'; ++Index; G_Mode4.UnlockStage = 100; G_Mode4.StageBonus = 25; G_Mode4.GoldBonus = 75; G_Mode4.StarBonus = 350; G_Mode4.RarityBonus = 50; G_Mode4.SpiderBaseHP = 5000; G_Mode4.SpiderStats = 10; G_Mode4.SpiderGrowth = 30; G_Mode4.SpiderDamageBonus = 0; G_Mode4.SpiderDefenseBonus = 15; G_Mode4.SpiderRandomPrevent = true; G_Mode4.TimeTrial = false; G_Mode4.SpiderDashes = false; G_Mode4.SpiderShield = false; G_Mode4.SpiderVenom = false; G_Mode4.BunnyCaptive = false; G_Mode4.SpiderWrath = false; G_Mode4.LockedSkills = 0; G_Mode4.StorePrices = 200; G_Mode5 = new Object(); GameModes[Index] = 'Mode5'; ++Index; G_Mode5.UnlockStage = 125; G_Mode5.StageBonus = 50; G_Mode5.GoldBonus = 100; G_Mode5.StarBonus = 500; G_Mode5.RarityBonus = 75; G_Mode5.SpiderBaseHP = 10000; G_Mode5.SpiderStats = 13; G_Mode5.SpiderGrowth = 50; G_Mode5.SpiderDamageBonus = 0; G_Mode5.SpiderDefenseBonus = 29; G_Mode5.SpiderRandomPrevent = false; G_Mode5.TimeTrial = true; G_Mode5.SpiderDashes = false; G_Mode5.SpiderShield = false; G_Mode5.SpiderVenom = false; G_Mode5.BunnyCaptive = false; G_Mode5.SpiderWrath = false; G_Mode5.LockedSkills = 0; G_Mode5.StorePrices = 250; G_Mode6 = new Object(); GameModes[Index] = 'Mode6'; ++Index; G_Mode6.UnlockStage = 150; G_Mode6.StageBonus = 75; G_Mode6.GoldBonus = 125; G_Mode6.StarBonus = 675; G_Mode6.RarityBonus = 100; G_Mode6.SpiderBaseHP = 25000; G_Mode6.SpiderStats = 17; G_Mode6.SpiderGrowth = 75; G_Mode6.SpiderDamageBonus = 5; G_Mode6.SpiderDefenseBonus = 42; G_Mode6.SpiderRandomPrevent = false; G_Mode6.TimeTrial = false; G_Mode6.SpiderDashes = true; G_Mode6.SpiderShield = false; G_Mode6.SpiderVenom = false; G_Mode6.BunnyCaptive = false; G_Mode6.SpiderWrath = false; G_Mode6.LockedSkills = 0; G_Mode6.StorePrices = 300; G_Mode7 = new Object(); GameModes[Index] = 'Mode7'; ++Index; G_Mode7.UnlockStage = 150; G_Mode7.StageBonus = 100; G_Mode7.GoldBonus = 150; G_Mode7.StarBonus = 875; G_Mode7.RarityBonus = 0; G_Mode7.SpiderBaseHP = 50000; G_Mode7.SpiderStats = 21; G_Mode7.SpiderGrowth = 100; G_Mode7.SpiderDamageBonus = 10; G_Mode7.SpiderDefenseBonus = 54; G_Mode7.SpiderRandomPrevent = false; G_Mode7.TimeTrial = false; G_Mode7.SpiderDashes = false; G_Mode7.SpiderShield = false; G_Mode7.SpiderVenom = false; G_Mode7.BunnyCaptive = true; G_Mode7.SpiderWrath = false; G_Mode7.LockedSkills = 0; G_Mode7.StorePrices = 350; G_Mode8 = new Object(); GameModes[Index] = 'Mode8'; ++Index; G_Mode8.UnlockStage = 200; G_Mode8.StageBonus = 125; G_Mode8.GoldBonus = 175; G_Mode8.StarBonus = 1100; G_Mode8.RarityBonus = 200; G_Mode8.SpiderBaseHP = 100000; G_Mode8.SpiderStats = 25; G_Mode8.SpiderGrowth = 125; G_Mode8.SpiderDamageBonus = 25; G_Mode8.SpiderDefenseBonus = 65; G_Mode8.SpiderRandomPrevent = false; G_Mode8.TimeTrial = false; G_Mode8.SpiderDashes = false; G_Mode8.SpiderShield = true; G_Mode8.SpiderVenom = false; G_Mode8.BunnyCaptive = false; G_Mode8.SpiderWrath = false; G_Mode8.LockedSkills = 0; G_Mode8.StorePrices = 400; G_Mode9 = new Object(); GameModes[Index] = 'Mode9'; ++Index; G_Mode9.UnlockStage = 250; G_Mode9.StageBonus = 150; G_Mode9.GoldBonus = 250; G_Mode9.StarBonus = 1500; G_Mode9.RarityBonus = 250; G_Mode9.SpiderBaseHP = 500000; G_Mode9.SpiderStats = 35; G_Mode9.SpiderGrowth = 150; G_Mode9.SpiderDamageBonus = 50; G_Mode9.SpiderDefenseBonus = 75; G_Mode9.SpiderRandomPrevent = false; G_Mode9.TimeTrial = false; G_Mode9.SpiderDashes = false; G_Mode9.SpiderShield = false; G_Mode9.SpiderVenom = false; G_Mode9.BunnyCaptive = false; G_Mode9.SpiderWrath = true; G_Mode9.LockedSkills = 0; G_Mode9.StorePrices = 500; G_Mode10 = new Object(); GameModes[Index] = 'Mode10'; ++Index; G_Mode10.UnlockStage = 500; G_Mode10.StageBonus = 200; G_Mode10.GoldBonus = 500; G_Mode10.StarBonus = 2750; G_Mode10.RarityBonus = 300; G_Mode10.SpiderBaseHP = 1000000; G_Mode10.SpiderStats = 50; G_Mode10.SpiderGrowth = 250; G_Mode10.SpiderDamageBonus = 100; G_Mode10.SpiderDefenseBonus = 84; G_Mode10.SpiderRandomPrevent = false; G_Mode10.TimeTrial = false; G_Mode10.SpiderDashes = false; G_Mode10.SpiderShield = false; G_Mode10.SpiderVenom = true; G_Mode10.BunnyCaptive = false; G_Mode10.SpiderWrath = false; G_Mode10.LockedSkills = 0; G_Mode10.StorePrices = 500; Index = 0; ModeEffects = new Array(); GM_StageBonus = new Object(); ModeEffects[Index] = 'StageBonus'; ++Index; GM_StageBonus.BaseAmount = 0; GM_StageBonus.GoodBad = 'Good'; GM_StageBonus.Info1 = 'Stage Value: +'; GM_StageBonus.Info2 = '%'; GM_GoldBonus = new Object(); ModeEffects[Index] = 'GoldBonus'; ++Index; GM_GoldBonus.BaseAmount = 0; GM_GoldBonus.GoodBad = 'Good'; GM_GoldBonus.Info1 = 'Gold Gain: +'; GM_GoldBonus.Info2 = ''; GM_StarBonus = new Object(); ModeEffects[Index] = 'StarBonus'; ++Index; GM_StarBonus.BaseAmount = 0; GM_StarBonus.GoodBad = 'Good'; GM_StarBonus.Info1 = 'Star Gain: +'; GM_StarBonus.Info2 = ''; GM_RarityBonus = new Object(); ModeEffects[Index] = 'RarityBonus'; ++Index; GM_RarityBonus.BaseAmount = 0; GM_RarityBonus.GoodBad = 'Good'; GM_RarityBonus.Info1 = 'Item Rarity: +'; GM_RarityBonus.Info2 = '%'; GM_SpiderBaseHP = new Object(); ModeEffects[Index] = 'SpiderBaseHP'; ++Index; GM_SpiderBaseHP.BaseAmount = 0; GM_SpiderBaseHP.GoodBad = 'Bad'; GM_SpiderBaseHP.Info1 = 'Spider Base HP: +'; GM_SpiderBaseHP.Info2 = ''; GM_SpiderStats = new Object(); ModeEffects[Index] = 'SpiderStats'; ++Index; GM_SpiderStats.BaseAmount = 0; GM_SpiderStats.GoodBad = 'Bad'; GM_SpiderStats.Info1 = 'Spider +'; GM_SpiderStats.Info2 = '/All Skills'; GM_SpiderGrowth = new Object(); ModeEffects[Index] = 'SpiderGrowth'; ++Index; GM_SpiderGrowth.BaseAmount = 0; GM_SpiderGrowth.GoodBad = 'Bad'; GM_SpiderGrowth.Info1 = 'Spider Growth: +'; GM_SpiderGrowth.Info2 = '%'; GM_SpiderDamageBonus = new Object(); ModeEffects[Index] = 'SpiderDamageBonus'; ++Index; GM_SpiderDamageBonus.BaseAmount = 0; GM_SpiderDamageBonus.GoodBad = 'Bad'; GM_SpiderDamageBonus.Info1 = 'Spider Damage: +'; GM_SpiderDamageBonus.Info2 = '%'; GM_SpiderDefenseBonus = new Object(); ModeEffects[Index] = 'SpiderDefenseBonus'; ++Index; GM_SpiderDefenseBonus.BaseAmount = 0; GM_SpiderDefenseBonus.GoodBad = 'Bad'; GM_SpiderDefenseBonus.Info1 = 'Spider Damage Negation: '; GM_SpiderDefenseBonus.Info2 = '%'; GM_SpiderRandomPrevent = new Object(); ModeEffects[Index] = 'SpiderRandomPrevent'; ++Index; GM_SpiderRandomPrevent.BaseAmount = false; GM_SpiderRandomPrevent.GoodBad = 'Bad'; GM_SpiderRandomPrevent.Info1 = 'Spider Gains Random Prevents'; GM_SpiderRandomPrevent.Info2 = ''; GM_TimeTrial = new Object(); ModeEffects[Index] = 'TimeTrial'; ++Index; GM_TimeTrial.BaseAmount = false; GM_TimeTrial.GoodBad = 'Bad'; GM_TimeTrial.Info1 = 'Hero Doomed (Time Trial)'; GM_TimeTrial.Info2 = ''; GM_SpiderDashes = new Object(); ModeEffects[Index] = 'SpiderDashes'; ++Index; GM_SpiderDashes.BaseAmount = false; GM_SpiderDashes.GoodBad = 'Bad'; GM_SpiderDashes.Info1 = 'Spider Dashes'; GM_SpiderDashes.Info2 = ''; GM_SpiderShield = new Object(); ModeEffects[Index] = 'SpiderShield'; ++Index; GM_SpiderShield.BaseAmount = false; GM_SpiderShield.GoodBad = 'Bad'; GM_SpiderShield.Info1 = 'Spider Spawn Shield'; GM_SpiderShield.Info2 = ''; GM_SpiderVenom = new Object(); ModeEffects[Index] = 'SpiderVenom'; ++Index; GM_SpiderVenom.BaseAmount = false; GM_SpiderVenom.GoodBad = 'Bad'; GM_SpiderVenom.Info1 = 'SPIDER VENOM!'; GM_SpiderVenom.Info2 = ''; GM_BunnyCaptive = new Object(); ModeEffects[Index] = 'BunnyCaptive'; ++Index; GM_BunnyCaptive.BaseAmount = false; GM_BunnyCaptive.GoodBad = 'Bad'; GM_BunnyCaptive.Info1 = 'Bunny Captive (items disabled)'; GM_BunnyCaptive.Info2 = ''; GM_SpiderWrath = new Object(); ModeEffects[Index] = 'SpiderWrath'; ++Index; GM_SpiderWrath.BaseAmount = false; GM_SpiderWrath.GoodBad = 'Bad'; GM_SpiderWrath.Info1 = 'Spider Lightning/Wrath'; GM_SpiderWrath.Info2 = ''; GM_LockedSkills = new Object(); ModeEffects[Index] = 'LockedSkills'; ++Index; GM_LockedSkills.BaseAmount = 0; GM_LockedSkills.GoodBad = 'Bad'; GM_LockedSkills.Info1 = ''; GM_LockedSkills.Info2 = ' Random Skills Locked'; GM_StorePrices = new Object(); ModeEffects[Index] = 'StorePrices'; ++Index; GM_StorePrices.BaseAmount = 100; GM_StorePrices.GoodBad = 'Bad'; GM_StorePrices.Info1 = 'Store Prices: '; GM_StorePrices.Info2 = '%'; } frame 2 { function TrackerText(Type, Target, Text) { var v3 = this.attachMovie(Type + 'Text', 'cText' + _global.Depth, _global.Depth); ++_global.Depth; v3.Target = Target; v3.Life = 75; if (Text != '') { v3.DT.text = Text; } v3.onEnterFrame = function () { this._x = this.Target._x; this._y = this.Target._y; --this.Life; if (this.Life < 20) { this._alpha -= 5; } if (this.Life < 0) { this.removeMovieClip(); } }; } } frame 2 { Index = 0; ItemType = new Array(); L_Potion = new Object(); L_Potion.Type = 'Potion'; L_Potion.Broken = true; L_Potion.BrokenGFX = 'Flask'; L_Potion.BaseUses = 1; L_Potion.RandomUses = 98; L_Potion.BaseCD = 1; L_Potion.RandomCD = 19; L_Potion.Index = Index; ItemType[Index] = 'Potion'; ++Index; L_Bomb = new Object(); L_Bomb.Type = 'Bomb'; L_Bomb.Broken = true; L_Bomb.BrokenGFX = 'BrokenBomb'; L_Bomb.BaseUses = 1; L_Bomb.RandomUses = 8; L_Bomb.BaseCD = 8; L_Bomb.RandomCD = 10; L_Bomb.Index = Index; ItemType[Index] = 'Bomb'; ++Index; L_Sword = new Object(); L_Sword.Type = 'Sword'; L_Sword.Broken = false; L_Sword.BrokenGFX = 'X'; L_Sword.BaseUses = 15; L_Sword.RandomUses = 25; L_Sword.BaseCD = 1; L_Sword.RandomCD = 5; L_Sword.Index = Index; ItemType[Index] = 'Sword'; ++Index; L_Axe = new Object(); L_Axe.Type = 'Axe'; L_Axe.Broken = false; L_Axe.BrokenGFX = 'X'; L_Axe.BaseUses = 5; L_Axe.RandomUses = 10; L_Axe.BaseCD = 5; L_Axe.RandomCD = 15; L_Axe.Index = Index; ItemType[Index] = 'Axe'; ++Index; L_Bow = new Object(); L_Bow.Type = 'Bow'; L_Bow.Broken = false; L_Bow.BrokenGFX = 'X'; L_Bow.BaseUses = 10; L_Bow.RandomUses = 80; L_Bow.BaseCD = 1; L_Bow.RandomCD = 3; L_Bow.Index = Index; ItemType[Index] = 'Bow'; ++Index; L_Wand = new Object(); L_Wand.Type = 'Wand'; L_Wand.Broken = false; L_Wand.BrokenGFX = 'X'; L_Wand.BaseUses = 3; L_Wand.RandomUses = 35; L_Wand.BaseCD = 2; L_Wand.RandomCD = 10; L_Wand.Index = Index; ItemType[Index] = 'Wand'; ++Index; L_Charm = new Object(); L_Charm.Type = 'Charm'; L_Charm.Broken = false; L_Charm.BrokenGFX = 'X'; L_Charm.BaseUses = 1; L_Charm.RandomUses = 14; L_Charm.BaseCD = 1; L_Charm.RandomCD = 9; L_Charm.Index = Index; ItemType[Index] = 'Charm'; ++Index; L_Shield = new Object(); L_Shield.Type = 'Shield'; L_Shield.Broken = true; L_Shield.BrokenGFX = 'BrokenShield'; L_Shield.BaseUses = 5; L_Shield.RandomUses = 45; L_Shield.BaseCD = 1; L_Shield.RandomCD = 30; L_Shield.Index = Index; ItemType[Index] = 'Shield'; ++Index; Index = 0; PotionGFX = new Array(); L_Potion1 = new Object(); L_Potion1.Type = 'Potion'; L_Potion1.GFX1 = 'Elixer'; L_Potion1.GFX2 = 'Elixer'; L_Potion1.GFX3 = 'Consecrate'; L_Potion1.Index = Index; PotionGFX[Index] = 'Potion1'; ++Index; L_Potion1.MinimumRarity = 5000; L_Potion2 = new Object(); L_Potion2.Type = 'Potion'; L_Potion2.GFX1 = 'RedPotion'; L_Potion2.GFX2 = 'RedPotion'; L_Potion2.GFX3 = 'Consecrate'; L_Potion2.Index = Index; PotionGFX[Index] = 'Potion2'; ++Index; L_Potion2.MinimumRarity = 0; L_Potion3 = new Object(); L_Potion3.Type = 'Potion'; L_Potion3.GFX1 = 'BluePotion'; L_Potion3.GFX2 = 'BluePotion'; L_Potion3.GFX3 = 'Consecrate'; L_Potion3.Index = Index; PotionGFX[Index] = 'Potion3'; ++Index; L_Potion3.MinimumRarity = 100; L_Potion4 = new Object(); L_Potion4.Type = 'Potion'; L_Potion4.GFX1 = 'YellowPotion'; L_Potion4.GFX2 = 'YellowPotion'; L_Potion4.GFX3 = 'Consecrate'; L_Potion4.Index = Index; PotionGFX[Index] = 'Potion4'; ++Index; L_Potion4.MinimumRarity = 2500; L_Potion5 = new Object(); L_Potion5.Type = 'Potion'; L_Potion5.GFX1 = 'WhitePotion'; L_Potion5.GFX2 = 'WhitePotion'; L_Potion5.GFX3 = 'Consecrate'; L_Potion5.Index = Index; PotionGFX[Index] = 'Potion5'; ++Index; L_Potion5.MinimumRarity = 500; L_Potion6 = new Object(); L_Potion6.Type = 'Potion'; L_Potion6.GFX1 = 'BrownPotion'; L_Potion6.GFX2 = 'BrownPotion'; L_Potion6.GFX3 = 'Consecrate'; L_Potion6.Index = Index; PotionGFX[Index] = 'Potion6'; ++Index; L_Potion6.MinimumRarity = 800; L_Potion7 = new Object(); L_Potion7.Type = 'Potion'; L_Potion7.GFX1 = 'PurplePotion'; L_Potion7.GFX2 = 'PurplePotion'; L_Potion7.GFX3 = 'Consecrate'; L_Potion7.Index = Index; PotionGFX[Index] = 'Potion7'; ++Index; L_Potion7.MinimumRarity = 1300; L_Potion8 = new Object(); L_Potion8.Type = 'Potion'; L_Potion8.GFX1 = 'BlackPotion'; L_Potion8.GFX2 = 'BlackPotion'; L_Potion8.GFX3 = 'Consecrate'; L_Potion8.Index = Index; PotionGFX[Index] = 'Potion8'; ++Index; L_Potion8.MinimumRarity = 2000; Index = 0; BombGFX = new Array(); L_Bomb1 = new Object(); L_Bomb1.Type = 'Bomb'; L_Bomb1.GFX1 = 'WallBombIcon'; L_Bomb1.GFX2 = 'WallBombIcon'; L_Bomb1.GFX3 = 'Consecrate'; L_Bomb1.Index = Index; BombGFX[Index] = 'Bomb1'; ++Index; L_Bomb1.MinimumRarity = 2000; L_Bomb2 = new Object(); L_Bomb2.Type = 'Bomb'; L_Bomb2.GFX1 = 'FireBombIcon'; L_Bomb2.GFX2 = 'FireBombIcon'; L_Bomb2.GFX3 = 'Consecrate'; L_Bomb2.Index = Index; BombGFX[Index] = 'Bomb2'; ++Index; L_Bomb2.MinimumRarity = 1000; L_Bomb3 = new Object(); L_Bomb3.Type = 'Bomb'; L_Bomb3.GFX1 = 'FragBombIcon'; L_Bomb3.GFX2 = 'FragBombIcon'; L_Bomb3.GFX3 = 'Consecrate'; L_Bomb3.Index = Index; BombGFX[Index] = 'Bomb3'; ++Index; L_Bomb3.MinimumRarity = 500; L_Bomb4 = new Object(); L_Bomb4.Type = 'Bomb'; L_Bomb4.GFX1 = 'PoisonBombIcon'; L_Bomb4.GFX2 = 'PoisonBombIcon'; L_Bomb4.GFX3 = 'Consecrate'; L_Bomb4.Index = Index; BombGFX[Index] = 'Bomb4'; ++Index; L_Bomb4.MinimumRarity = 250; L_Bomb5 = new Object(); L_Bomb5.Type = 'Bomb'; L_Bomb5.GFX1 = 'Z_LavaBomb'; L_Bomb5.GFX2 = 'Z_LavaBomb'; L_Bomb5.GFX3 = 'Consecrate'; L_Bomb5.Index = Index; BombGFX[Index] = 'Bomb5'; ++Index; L_Bomb5.MinimumRarity = 2500; L_Bomb6 = new Object(); L_Bomb6.Type = 'Bomb'; L_Bomb6.GFX1 = 'BombIcon'; L_Bomb6.GFX2 = 'BombIcon'; L_Bomb6.GFX3 = 'Consecrate'; L_Bomb6.Index = Index; BombGFX[Index] = 'Bomb6'; ++Index; L_Bomb6.MinimumRarity = 0; L_Bomb7 = new Object(); L_Bomb7.Type = 'Bomb'; L_Bomb7.GFX1 = 'Z_ClusterBomb'; L_Bomb7.GFX2 = 'Z_ClusterBomb'; L_Bomb7.GFX3 = 'Consecrate'; L_Bomb7.Index = Index; BombGFX[Index] = 'Bomb7'; ++Index; L_Bomb7.MinimumRarity = 1500; Index = 0; SwordGFX = new Array(); L_Sword1 = new Object(); L_Sword1.Type = 'Sword'; L_Sword1.GFX1 = 'Z_EnchantedSword'; L_Sword1.GFX2 = 'Z_EnchantedSword'; L_Sword1.GFX3 = 'Consecrate'; L_Sword1.Index = Index; SwordGFX[Index] = 'Sword1'; ++Index; L_Sword1.MinimumRarity = 1250; L_Sword2 = new Object(); L_Sword2.Type = 'Sword'; L_Sword2.GFX1 = 'Z_Golden_Sword'; L_Sword2.GFX2 = 'Z_Golden_Sword'; L_Sword2.GFX3 = 'Consecrate'; L_Sword2.Index = Index; SwordGFX[Index] = 'Sword2'; ++Index; L_Sword2.MinimumRarity = 3000; L_Sword3 = new Object(); L_Sword3.Type = 'Sword'; L_Sword3.GFX1 = 'SwordGFX'; L_Sword3.GFX2 = 'SwordGFX'; L_Sword3.GFX3 = 'Consecrate'; L_Sword3.Index = Index; SwordGFX[Index] = 'Sword3'; ++Index; L_Sword3.MinimumRarity = 0; L_Sword4 = new Object(); L_Sword4.Type = 'Sword'; L_Sword4.GFX1 = 'MagicSwordIcon'; L_Sword4.GFX2 = 'MagicSwordIcon'; L_Sword4.GFX3 = 'Consecrate'; L_Sword4.Index = Index; SwordGFX[Index] = 'Sword4'; ++Index; L_Sword4.MinimumRarity = 1000; L_Sword5 = new Object(); L_Sword5.Type = 'Sword'; L_Sword5.GFX1 = 'SwordIcon'; L_Sword5.GFX2 = 'SwordIcon'; L_Sword5.GFX3 = 'Consecrate'; L_Sword5.Index = Index; SwordGFX[Index] = 'Sword5'; ++Index; L_Sword5.MinimumRarity = 400; L_Sword6 = new Object(); L_Sword6.Type = 'Sword'; L_Sword6.GFX1 = 'Z_Obsidian_Sword'; L_Sword6.GFX2 = 'Z_Obsidian_Sword'; L_Sword6.GFX3 = 'Consecrate'; L_Sword6.Index = Index; SwordGFX[Index] = 'Sword6'; ++Index; L_Sword6.MinimumRarity = 2000; L_Sword7 = new Object(); L_Sword7.Type = 'Sword'; L_Sword7.GFX1 = 'Z_Sword2'; L_Sword7.GFX2 = 'Z_Sword2'; L_Sword7.GFX3 = 'Consecrate'; L_Sword7.Index = Index; SwordGFX[Index] = 'Sword7'; ++Index; L_Sword7.MinimumRarity = 100; L_Sword8 = new Object(); L_Sword8.Type = 'Sword'; L_Sword8.GFX1 = 'Stick'; L_Sword8.GFX2 = 'Stick'; L_Sword8.GFX3 = 'Consecrate'; L_Sword8.Index = Index; SwordGFX[Index] = 'Sword8'; ++Index; L_Sword8.MinimumRarity = 99999999; Index = 0; AxeGFX = new Array(); L_Axe1 = new Object(); L_Axe1.Type = 'Axe'; L_Axe1.GFX1 = 'WoodAxeIcon'; L_Axe1.GFX2 = 'WoodAxeIcon'; L_Axe1.GFX3 = 'Consecrate'; L_Axe1.Index = Index; AxeGFX[Index] = 'Axe1'; ++Index; L_Axe1.MinimumRarity = 0; L_Axe2 = new Object(); L_Axe2.Type = 'Axe'; L_Axe2.GFX1 = 'MiningPickIcon'; L_Axe2.GFX2 = 'MiningPickIcon'; L_Axe2.GFX3 = 'Consecrate'; L_Axe2.Index = Index; AxeGFX[Index] = 'Axe2'; ++Index; L_Axe2.MinimumRarity = 250; L_Axe3 = new Object(); L_Axe3.Type = 'Axe'; L_Axe3.GFX1 = 'Z_Golden_Hammer'; L_Axe3.GFX2 = 'Z_Golden_Hammer'; L_Axe3.GFX3 = 'Consecrate'; L_Axe3.Index = Index; AxeGFX[Index] = 'Axe3'; ++Index; L_Axe3.MinimumRarity = 3000; L_Axe4 = new Object(); L_Axe4.Type = 'Axe'; L_Axe4.GFX1 = 'Z_Scythe1'; L_Axe4.GFX2 = 'Z_Scythe1'; L_Axe4.GFX3 = 'Consecrate'; L_Axe4.Index = Index; AxeGFX[Index] = 'Axe4'; ++Index; L_Axe4.MinimumRarity = 1000; L_Axe5 = new Object(); L_Axe5.Type = 'Axe'; L_Axe5.GFX1 = 'Z_Axe2'; L_Axe5.GFX2 = 'Z_Axe2'; L_Axe5.GFX3 = 'Consecrate'; L_Axe5.Index = Index; AxeGFX[Index] = 'Axe5'; ++Index; L_Axe5.MinimumRarity = 1500; L_Axe6 = new Object(); L_Axe6.Type = 'Axe'; L_Axe6.GFX1 = 'Z_Axe'; L_Axe6.GFX2 = 'Z_Axe'; L_Axe6.GFX3 = 'Consecrate'; L_Axe6.Index = Index; AxeGFX[Index] = 'Axe6'; ++Index; L_Axe6.MinimumRarity = 700; L_Axe7 = new Object(); L_Axe7.Type = 'Axe'; L_Axe7.GFX1 = 'Z_Mace1'; L_Axe7.GFX2 = 'Z_Mace1'; L_Axe7.GFX3 = 'Consecrate'; L_Axe7.Index = Index; AxeGFX[Index] = 'Axe7'; ++Index; L_Axe7.MinimumRarity = 2000; Index = 0; BowGFX = new Array(); L_Bow1 = new Object(); L_Bow1.Type = 'Bow'; L_Bow1.GFX1 = 'BowIcon'; L_Bow1.GFX2 = 'Z_Arrow'; L_Bow1.GFX3 = 'Consecrate'; L_Bow1.Index = Index; BowGFX[Index] = 'Bow1'; ++Index; L_Bow1.MinimumRarity = 0; L_Bow2 = new Object(); L_Bow2.Type = 'Bow'; L_Bow2.GFX1 = 'MagicBowIcon'; L_Bow2.GFX2 = 'Z_MagicArrow'; L_Bow2.GFX3 = 'Consecrate'; L_Bow2.Index = Index; BowGFX[Index] = 'Bow2'; ++Index; L_Bow2.MinimumRarity = 1000; L_Bow3 = new Object(); L_Bow3.Type = 'Bow'; L_Bow3.GFX1 = 'Z_Bow3'; L_Bow3.GFX2 = 'Z_Musket'; L_Bow3.GFX3 = 'Consecrate'; L_Bow3.Index = Index; BowGFX[Index] = 'Bow3'; ++Index; L_Bow3.MinimumRarity = 250; L_Bow4 = new Object(); L_Bow4.Type = 'Bow'; L_Bow4.GFX1 = 'Z_Bow2'; L_Bow4.GFX2 = 'Z_Arrow2'; L_Bow4.GFX3 = 'Consecrate'; L_Bow4.Index = Index; BowGFX[Index] = 'Bow4'; ++Index; L_Bow4.MinimumRarity = 500; L_Bow5 = new Object(); L_Bow5.Type = 'Bow'; L_Bow5.GFX1 = 'Z_Bow1'; L_Bow5.GFX2 = 'Z_Arrow3'; L_Bow5.GFX3 = 'Consecrate'; L_Bow5.Index = Index; BowGFX[Index] = 'Bow5'; ++Index; L_Bow5.MinimumRarity = 750; L_Bow6 = new Object(); L_Bow6.Type = 'Bow'; L_Bow6.GFX1 = 'HolyBow'; L_Bow6.GFX2 = 'Z_ValkyrieSpear'; L_Bow6.GFX3 = 'Consecrate'; L_Bow6.Index = Index; BowGFX[Index] = 'Bow6'; ++Index; L_Bow6.MinimumRarity = 1500; L_Bow7 = new Object(); L_Bow7.Type = 'Bow'; L_Bow7.GFX1 = 'GoldenBow'; L_Bow7.GFX2 = 'Z_Spear3'; L_Bow7.GFX3 = 'Consecrate'; L_Bow7.Index = Index; BowGFX[Index] = 'Bow7'; ++Index; L_Bow7.MinimumRarity = 3000; L_Bow8 = new Object(); L_Bow8.Type = 'Bow'; L_Bow8.GFX1 = 'Z_Bow4'; L_Bow8.GFX2 = 'Z_IceShard'; L_Bow8.GFX3 = 'Consecrate'; L_Bow8.Index = Index; BowGFX[Index] = 'Bow8'; ++Index; L_Bow8.MinimumRarity = 2000; Index = 0; WandGFX = new Array(); L_Wand1 = new Object(); L_Wand1.Type = 'Wand'; L_Wand1.GFX1 = 'FrostWandIcon'; L_Wand1.GFX2 = 'FrostFX'; L_Wand1.GFX3 = 'Consecrate'; L_Wand1.Index = Index; WandGFX[Index] = 'Wand1'; ++Index; L_Wand1.MinimumRarity = 0; L_Wand2 = new Object(); L_Wand2.Type = 'Wand'; L_Wand2.GFX1 = 'ExplodeWandIcon'; L_Wand2.GFX2 = 'Z_Burn_Mono_Hand'; L_Wand2.GFX3 = 'Consecrate'; L_Wand2.Index = Index; WandGFX[Index] = 'Wand2'; ++Index; L_Wand2.MinimumRarity = 400; L_Wand3 = new Object(); L_Wand3.Type = 'Wand'; L_Wand3.GFX1 = 'FireWandIcon'; L_Wand3.GFX2 = 'Z_Fireball'; L_Wand3.GFX3 = 'Consecrate'; L_Wand3.Index = Index; WandGFX[Index] = 'Wand3'; ++Index; L_Wand3.MinimumRarity = 1800; L_Wand4 = new Object(); L_Wand4.Type = 'Wand'; L_Wand4.GFX1 = 'Z_EvilWand'; L_Wand4.GFX2 = 'Z_PoisonOrb'; L_Wand4.GFX3 = 'Consecrate'; L_Wand4.Index = Index; WandGFX[Index] = 'Wand4'; ++Index; L_Wand4.MinimumRarity = 1200; L_Wand5 = new Object(); L_Wand5.Type = 'Wand'; L_Wand5.GFX1 = 'ZZ_CTS_Staff'; L_Wand5.GFX2 = 'Z_CTS'; L_Wand5.GFX3 = 'Consecrate'; L_Wand5.Index = Index; WandGFX[Index] = 'Wand5'; ++Index; L_Wand5.MinimumRarity = 3000; L_Wand6 = new Object(); L_Wand6.Type = 'Wand'; L_Wand6.GFX1 = 'BlueStaff'; L_Wand6.GFX2 = 'Z_MageHand'; L_Wand6.GFX3 = 'Consecrate'; L_Wand6.Index = Index; WandGFX[Index] = 'Wand6'; ++Index; L_Wand6.MinimumRarity = 500; L_Wand7 = new Object(); L_Wand7.Type = 'Wand'; L_Wand7.GFX1 = 'RedStaff'; L_Wand7.GFX2 = 'Z_MageHand2'; L_Wand7.GFX3 = 'Consecrate'; L_Wand7.Index = Index; WandGFX[Index] = 'Wand7'; ++Index; L_Wand7.MinimumRarity = 1000; L_Wand8 = new Object(); L_Wand8.Type = 'Wand'; L_Wand8.GFX1 = 'GreenStaff'; L_Wand8.GFX2 = 'Z_GreenDot'; L_Wand8.GFX3 = 'Consecrate'; L_Wand8.Index = Index; WandGFX[Index] = 'Wand8'; ++Index; L_Wand8.MinimumRarity = 1500; L_Wand9 = new Object(); L_Wand9.Type = 'Wand'; L_Wand9.GFX1 = 'PurpleStaff'; L_Wand9.GFX2 = 'Z_PurpleDot'; L_Wand9.GFX3 = 'Consecrate'; L_Wand9.Index = Index; WandGFX[Index] = 'Wand9'; ++Index; L_Wand9.MinimumRarity = 2000; Index = 0; CharmGFX = new Array(); L_Charm1 = new Object(); L_Charm1.Type = 'Charm'; L_Charm1.GFX1 = 'DarkAmuletIcon'; L_Charm1.GFX2 = 'DarkAmuletIcon'; L_Charm1.GFX3 = 'Consecrate'; L_Charm1.Index = Index; CharmGFX[Index] = 'Charm1'; ++Index; L_Charm1.MinimumRarity = 0; L_Charm2 = new Object(); L_Charm2.Type = 'Charm'; L_Charm2.GFX1 = 'GoldCoinsIcon'; L_Charm2.GFX2 = 'GoldCoinsIcon'; L_Charm2.GFX3 = 'Consecrate'; L_Charm2.Index = Index; CharmGFX[Index] = 'Charm2'; ++Index; L_Charm2.MinimumRarity = 5000; L_Charm3 = new Object(); L_Charm3.Type = 'Charm'; L_Charm3.GFX1 = 'Boulder'; L_Charm3.GFX2 = 'Boulder'; L_Charm3.GFX3 = 'Consecrate'; L_Charm3.Index = Index; CharmGFX[Index] = 'Charm3'; ++Index; L_Charm3.MinimumRarity = 1200; L_Charm4 = new Object(); L_Charm4.Type = 'Charm'; L_Charm4.GFX1 = 'Z_Acorn'; L_Charm4.GFX2 = 'Z_Acorn'; L_Charm4.GFX3 = 'Consecrate'; L_Charm4.Index = Index; CharmGFX[Index] = 'Charm4'; ++Index; L_Charm4.MinimumRarity = 800; L_Charm5 = new Object(); L_Charm5.Type = 'Charm'; L_Charm5.GFX1 = 'Mine'; L_Charm5.GFX2 = 'Mine'; L_Charm5.GFX3 = 'Consecrate'; L_Charm5.Index = Index; CharmGFX[Index] = 'Charm5'; ++Index; L_Charm5.MinimumRarity = 200; L_Charm6 = new Object(); L_Charm6.Type = 'Charm'; L_Charm6.GFX1 = 'FrostMine'; L_Charm6.GFX2 = 'FrostMine'; L_Charm6.GFX3 = 'Consecrate'; L_Charm6.Index = Index; CharmGFX[Index] = 'Charm6'; ++Index; L_Charm6.MinimumRarity = 1000; L_Charm7 = new Object(); L_Charm7.Type = 'Charm'; L_Charm7.GFX1 = 'Z_Fire_Mine'; L_Charm7.GFX2 = 'Z_Fire_Mine'; L_Charm7.GFX3 = 'Consecrate'; L_Charm7.Index = Index; CharmGFX[Index] = 'Charm7'; ++Index; L_Charm7.MinimumRarity = 1500; L_Charm8 = new Object(); L_Charm8.Type = 'Charm'; L_Charm8.GFX1 = 'HolyChaliceIcon'; L_Charm8.GFX2 = 'HolyChaliceIcon'; L_Charm8.GFX3 = 'Consecrate'; L_Charm8.Index = Index; CharmGFX[Index] = 'Charm8'; ++Index; L_Charm8.MinimumRarity = 3500; L_Charm9 = new Object(); L_Charm9.Type = 'Charm'; L_Charm9.GFX1 = 'Shard'; L_Charm9.GFX2 = 'Shard'; L_Charm9.GFX3 = 'Consecrate'; L_Charm9.Index = Index; CharmGFX[Index] = 'Charm9'; ++Index; L_Charm9.MinimumRarity = 500; L_Charm10 = new Object(); L_Charm10.Type = 'Charm'; L_Charm10.GFX1 = 'RabbitCharmIcon'; L_Charm10.GFX2 = 'RabbitCharmIcon'; L_Charm10.GFX3 = 'Consecrate'; L_Charm10.Index = Index; CharmGFX[Index] = 'Charm10'; ++Index; L_Charm10.MinimumRarity = 2000; Index = 0; ShieldGFX = new Array(); L_Shield1 = new Object(); L_Shield1.Type = 'Shield'; L_Shield1.GFX1 = 'ShieldIcon'; L_Shield1.GFX2 = 'ShieldIcon'; L_Shield1.GFX3 = 'Consecrate'; L_Shield1.Index = Index; ShieldGFX[Index] = 'Shield1'; ++Index; L_Shield1.MinimumRarity = 0; L_Shield2 = new Object(); L_Shield2.Type = 'Shield'; L_Shield2.GFX1 = 'MagicShieldIcon'; L_Shield2.GFX2 = 'MagicShieldIcon'; L_Shield2.GFX3 = 'Consecrate'; L_Shield2.Index = Index; ShieldGFX[Index] = 'Shield2'; ++Index; L_Shield2.MinimumRarity = 1000; Index = 0; ItemEffect = new Array(); L_None = new Object(); L_None.Type = 'Blank'; L_None.Symbol = 'Blank'; L_None.SkillText = ' '; L_None.Numeric = false; L_None.EffectCost = 0; L_None.MaxAmount = 0; L_None.Gravity = 0; L_None.Axes = 0; L_None.Swords = 0; L_None.Bows = 0; L_None.Potions = 0; L_None.Bombs = 0; L_None.Charms = 0; L_None.Shields = 0; L_None.Wands = 0; L_FlatHeal = new Object(); L_FlatHeal.Type = 'Defense'; L_FlatHeal.Symbol = 'Defense1'; L_FlatHeal.Index = Index; ItemEffect[Index] = 'FlatHeal'; ++Index; L_FlatHeal.SkillText = ' Heal'; L_FlatHeal.Numeric = true; L_FlatHeal.EffectCost = 3; L_FlatHeal.MaxAmount = 95000000; L_FlatHeal.Gravity = -1; L_FlatHeal.Axes = 0; L_FlatHeal.Swords = 0; L_FlatHeal.Bows = 1; L_FlatHeal.Potions = 90; L_FlatHeal.Bombs = 0; L_FlatHeal.Charms = 0; L_FlatHeal.Shields = 10; L_FlatHeal.Wands = 5; L_PcntHeal = new Object(); L_PcntHeal.Type = 'Defense'; L_PcntHeal.Symbol = 'Defense2'; L_PcntHeal.Index = Index; ItemEffect[Index] = 'PcntHeal'; ++Index; L_PcntHeal.SkillText = '% Heal'; L_PcntHeal.Numeric = true; L_PcntHeal.EffectCost = 25; L_PcntHeal.MaxAmount = 500; L_PcntHeal.Gravity = 5; L_PcntHeal.Axes = 0; L_PcntHeal.Swords = 0; L_PcntHeal.Bows = 1; L_PcntHeal.Potions = 10; L_PcntHeal.Bombs = 0; L_PcntHeal.Charms = 1; L_PcntHeal.Shields = 5; L_PcntHeal.Wands = 0; L_FlatArmor = new Object(); L_FlatArmor.Type = 'Defense'; L_FlatArmor.Symbol = 'Defense1'; L_FlatArmor.Index = Index; ItemEffect[Index] = 'FlatArmor'; ++Index; L_FlatArmor.SkillText = ' Armor'; L_FlatArmor.Numeric = true; L_FlatArmor.EffectCost = 5; L_FlatArmor.MaxAmount = 9500000; L_FlatArmor.Gravity = -1; L_FlatArmor.Axes = 10; L_FlatArmor.Swords = 5; L_FlatArmor.Bows = 0; L_FlatArmor.Potions = 1; L_FlatArmor.Bombs = 0; L_FlatArmor.Charms = 0; L_FlatArmor.Shields = 75; L_FlatArmor.Wands = 0; L_PcntArmor = new Object(); L_PcntArmor.Type = 'Defense'; L_PcntArmor.Symbol = 'Defense2'; L_PcntArmor.Index = Index; ItemEffect[Index] = 'PcntArmor'; ++Index; L_PcntArmor.SkillText = '% Armor'; L_PcntArmor.Numeric = true; L_PcntArmor.EffectCost = 100; L_PcntArmor.MaxAmount = 500; L_PcntArmor.Gravity = 1; L_PcntArmor.Axes = 1; L_PcntArmor.Swords = 1; L_PcntArmor.Bows = 0; L_PcntArmor.Potions = 0; L_PcntArmor.Bombs = 0; L_PcntArmor.Charms = 0; L_PcntArmor.Shields = 4; L_PcntArmor.Wands = 0; L_FlatShield = new Object(); L_FlatShield.Type = 'Defense'; L_FlatShield.Symbol = 'Defense1'; L_FlatShield.Index = Index; ItemEffect[Index] = 'FlatShield'; ++Index; L_FlatShield.SkillText = ' +Max E-Shield'; L_FlatShield.Numeric = true; L_FlatShield.EffectCost = 125; L_FlatShield.MaxAmount = 950; L_FlatShield.Gravity = 0; L_FlatShield.Axes = 0; L_FlatShield.Swords = 0; L_FlatShield.Bows = 1; L_FlatShield.Potions = 0; L_FlatShield.Bombs = 0; L_FlatShield.Charms = 15; L_FlatShield.Shields = 0; L_FlatShield.Wands = 5; L_PcntShield = new Object(); L_PcntShield.Type = 'Defense'; L_PcntShield.Symbol = 'Defense2'; L_PcntShield.Index = Index; ItemEffect[Index] = 'PcntShield'; ++Index; L_PcntShield.SkillText = '% Max E-Shield'; L_PcntShield.Numeric = true; L_PcntShield.EffectCost = 500; L_PcntShield.MaxAmount = 15; L_PcntShield.Gravity = 5; L_PcntShield.Axes = 0; L_PcntShield.Swords = 0; L_PcntShield.Bows = 1; L_PcntShield.Potions = 0; L_PcntShield.Bombs = 0; L_PcntShield.Charms = 10; L_PcntShield.Shields = 0; L_PcntShield.Wands = 5; L_FlatMHP = new Object(); L_FlatMHP.Type = 'Defense'; L_FlatMHP.Symbol = 'Defense2'; L_FlatMHP.Index = Index; ItemEffect[Index] = 'FlatMHP'; ++Index; L_FlatMHP.SkillText = ' +Max HP'; L_FlatMHP.Numeric = true; L_FlatMHP.EffectCost = 25; L_FlatMHP.MaxAmount = 500000; L_FlatMHP.Gravity = 0; L_FlatMHP.Axes = 3; L_FlatMHP.Swords = 1; L_FlatMHP.Bows = 0; L_FlatMHP.Potions = 25; L_FlatMHP.Bombs = 0; L_FlatMHP.Charms = 0; L_FlatMHP.Shields = 5; L_FlatMHP.Wands = 1; L_PhysicalDamage = new Object(); L_PhysicalDamage.Type = 'Attack'; L_PhysicalDamage.Symbol = 'Attack1'; L_PhysicalDamage.Index = Index; ItemEffect[Index] = 'PhysicalDamage'; ++Index; L_PhysicalDamage.SkillText = ' P-Damage'; L_PhysicalDamage.Numeric = true; L_PhysicalDamage.EffectCost = 2; L_PhysicalDamage.MaxAmount = 2000000; L_PhysicalDamage.Gravity = -4; L_PhysicalDamage.Axes = 100; L_PhysicalDamage.Swords = 75; L_PhysicalDamage.Bows = 50; L_PhysicalDamage.Potions = 0; L_PhysicalDamage.Bombs = 10; L_PhysicalDamage.Charms = 0; L_PhysicalDamage.Shields = 0; L_PhysicalDamage.Wands = 0; L_Pcnt2xCrit = new Object(); L_Pcnt2xCrit.Type = 'Attack'; L_Pcnt2xCrit.Symbol = 'Attack1'; L_Pcnt2xCrit.Index = Index; ItemEffect[Index] = 'Pcnt2xCrit'; ++Index; L_Pcnt2xCrit.SkillText = '% 2x Crit'; L_Pcnt2xCrit.Numeric = true; L_Pcnt2xCrit.EffectCost = 20; L_Pcnt2xCrit.MaxAmount = 800; L_Pcnt2xCrit.Gravity = 0; L_Pcnt2xCrit.ParentSkill = 'PhysicalDamage'; L_Pcnt2xCrit.Axes = 10; L_Pcnt2xCrit.Swords = 20; L_Pcnt2xCrit.Bows = 50; L_Pcnt2xCrit.Potions = 0; L_Pcnt2xCrit.Bombs = 0; L_Pcnt2xCrit.Charms = 0; L_Pcnt2xCrit.Shields = 0; L_Pcnt2xCrit.Wands = 0; L_Pcnt4xCrit = new Object(); L_Pcnt4xCrit.Type = 'Attack'; L_Pcnt4xCrit.Symbol = 'Attack1'; L_Pcnt4xCrit.Index = Index; ItemEffect[Index] = 'Pcnt4xCrit'; ++Index; L_Pcnt4xCrit.SkillText = '% 4x Crit'; L_Pcnt4xCrit.Numeric = true; L_Pcnt4xCrit.EffectCost = 40; L_Pcnt4xCrit.MaxAmount = 700; L_Pcnt4xCrit.Gravity = 0; L_Pcnt4xCrit.ParentSkill = 'PhysicalDamage'; L_Pcnt4xCrit.Axes = 5; L_Pcnt4xCrit.Swords = 50; L_Pcnt4xCrit.Bows = 1; L_Pcnt4xCrit.Potions = 0; L_Pcnt4xCrit.Bombs = 0; L_Pcnt4xCrit.Charms = 0; L_Pcnt4xCrit.Shields = 0; L_Pcnt4xCrit.Wands = 0; L_Pcnt8xCrit = new Object(); L_Pcnt8xCrit.Type = 'Attack'; L_Pcnt8xCrit.Symbol = 'Attack1'; L_Pcnt8xCrit.Index = Index; ItemEffect[Index] = 'Pcnt8xCrit'; ++Index; L_Pcnt8xCrit.SkillText = '% 8x Crit'; L_Pcnt8xCrit.Numeric = true; L_Pcnt8xCrit.EffectCost = 75; L_Pcnt8xCrit.MaxAmount = 600; L_Pcnt8xCrit.Gravity = 0; L_Pcnt8xCrit.ParentSkill = 'PhysicalDamage'; L_Pcnt8xCrit.Axes = 40; L_Pcnt8xCrit.Swords = 2; L_Pcnt8xCrit.Bows = 1; L_Pcnt8xCrit.Potions = 0; L_Pcnt8xCrit.Bombs = 0; L_Pcnt8xCrit.Charms = 0; L_Pcnt8xCrit.Shields = 0; L_Pcnt8xCrit.Wands = 0; L_Pcnt16xCrit = new Object(); L_Pcnt16xCrit.Type = 'Attack'; L_Pcnt16xCrit.Symbol = 'Attack2'; L_Pcnt16xCrit.Index = Index; ItemEffect[Index] = 'Pcnt16xCrit'; ++Index; L_Pcnt16xCrit.SkillText = '% 16x Crit'; L_Pcnt16xCrit.Numeric = true; L_Pcnt16xCrit.EffectCost = 125; L_Pcnt16xCrit.MaxAmount = 500; L_Pcnt16xCrit.Gravity = 1; L_Pcnt16xCrit.ParentSkill = 'PhysicalDamage'; L_Pcnt16xCrit.Axes = 1; L_Pcnt16xCrit.Swords = 1; L_Pcnt16xCrit.Bows = 30; L_Pcnt16xCrit.Potions = 0; L_Pcnt16xCrit.Bombs = 0; L_Pcnt16xCrit.Charms = 0; L_Pcnt16xCrit.Shields = 0; L_Pcnt16xCrit.Wands = 0; L_Pcnt3xFlurry = new Object(); L_Pcnt3xFlurry.Type = 'Attack'; L_Pcnt3xFlurry.Symbol = 'Attack1'; L_Pcnt3xFlurry.Index = Index; ItemEffect[Index] = 'Pcnt3xFlurry'; ++Index; L_Pcnt3xFlurry.SkillText = '% 3x Flurry'; L_Pcnt3xFlurry.Numeric = true; L_Pcnt3xFlurry.EffectCost = 15; L_Pcnt3xFlurry.MaxAmount = 100; L_Pcnt3xFlurry.Gravity = -1; L_Pcnt3xFlurry.ParentSkill = 'PhysicalDamage'; L_Pcnt3xFlurry.Axes = 30; L_Pcnt3xFlurry.Swords = 40; L_Pcnt3xFlurry.Bows = 50; L_Pcnt3xFlurry.Potions = 0; L_Pcnt3xFlurry.Bombs = 1; L_Pcnt3xFlurry.Charms = 0; L_Pcnt3xFlurry.Shields = 0; L_Pcnt3xFlurry.Wands = 0; L_Pcnt9xFlurry = new Object(); L_Pcnt9xFlurry.Type = 'Attack'; L_Pcnt9xFlurry.Symbol = 'Attack2'; L_Pcnt9xFlurry.Index = Index; ItemEffect[Index] = 'Pcnt9xFlurry'; ++Index; L_Pcnt9xFlurry.SkillText = '% 9x Flurry'; L_Pcnt9xFlurry.Numeric = true; L_Pcnt9xFlurry.EffectCost = 50; L_Pcnt9xFlurry.MaxAmount = 100; L_Pcnt9xFlurry.Gravity = 1; L_Pcnt9xFlurry.ParentSkill = 'PhysicalDamage'; L_Pcnt9xFlurry.Axes = 5; L_Pcnt9xFlurry.Swords = 15; L_Pcnt9xFlurry.Bows = 20; L_Pcnt9xFlurry.Potions = 0; L_Pcnt9xFlurry.Bombs = 0; L_Pcnt9xFlurry.Charms = 0; L_Pcnt9xFlurry.Shields = 0; L_Pcnt9xFlurry.Wands = 0; L_HPOnHit = new Object(); L_HPOnHit.Type = 'Attack'; L_HPOnHit.Symbol = 'Attack1'; L_HPOnHit.Index = Index; ItemEffect[Index] = 'HPOnHit'; ++Index; L_HPOnHit.SkillText = ' HP On-Hit'; L_HPOnHit.Numeric = true; L_HPOnHit.EffectCost = 5; L_HPOnHit.MaxAmount = 50000; L_HPOnHit.Gravity = 0; L_HPOnHit.Axes = 0; L_HPOnHit.Swords = 8; L_HPOnHit.Bows = 12; L_HPOnHit.Potions = 0; L_HPOnHit.Bombs = 0; L_HPOnHit.Charms = 0; L_HPOnHit.Shields = 0; L_HPOnHit.Wands = 1; L_PcntLifesteal = new Object(); L_PcntLifesteal.Type = 'Attack'; L_PcntLifesteal.Symbol = 'Attack2'; L_PcntLifesteal.Index = Index; ItemEffect[Index] = 'PcntLifesteal'; ++Index; L_PcntLifesteal.SkillText = '% Lifesteal'; L_PcntLifesteal.Numeric = true; L_PcntLifesteal.EffectCost = 25; L_PcntLifesteal.MaxAmount = 500; L_PcntLifesteal.Gravity = 0; L_PcntLifesteal.ParentSkill = 'PhysicalDamage'; L_PcntLifesteal.Axes = 5; L_PcntLifesteal.Swords = 10; L_PcntLifesteal.Bows = 2; L_PcntLifesteal.Potions = 0; L_PcntLifesteal.Bombs = 0; L_PcntLifesteal.Charms = 0; L_PcntLifesteal.Shields = 0; L_PcntLifesteal.Wands = 0; L_PcntStun = new Object(); L_PcntStun.Type = 'Attack'; L_PcntStun.Symbol = 'Attack2'; L_PcntStun.Index = Index; ItemEffect[Index] = 'PcntStun'; ++Index; L_PcntStun.SkillText = '% Stun'; L_PcntStun.Numeric = true; L_PcntStun.EffectCost = 25; L_PcntStun.MaxAmount = 100; L_PcntStun.Gravity = -1; L_PcntStun.ParentSkill = 'PhysicalDamage'; L_PcntStun.Axes = 10; L_PcntStun.Swords = 4; L_PcntStun.Bows = 1; L_PcntStun.Potions = 0; L_PcntStun.Bombs = 25; L_PcntStun.Charms = 0; L_PcntStun.Shields = 0; L_PcntStun.Wands = 0; L_ExtraStunTime = new Object(); L_ExtraStunTime.Type = 'Attack'; L_ExtraStunTime.Symbol = 'Attack2'; L_ExtraStunTime.Index = Index; ItemEffect[Index] = 'ExtraStunTime'; ++Index; L_ExtraStunTime.SkillText = ' +Stun-Time'; L_ExtraStunTime.Numeric = true; L_ExtraStunTime.EffectCost = 25; L_ExtraStunTime.MaxAmount = 200; L_ExtraStunTime.Gravity = 0; L_ExtraStunTime.ParentSkill = 'PcntStun'; L_ExtraStunTime.Axes = 25; L_ExtraStunTime.Swords = 5; L_ExtraStunTime.Bows = 2; L_ExtraStunTime.Potions = 0; L_ExtraStunTime.Bombs = 50; L_ExtraStunTime.Charms = 0; L_ExtraStunTime.Shields = 0; L_ExtraStunTime.Wands = 0; L_PcntBleed = new Object(); L_PcntBleed.Type = 'Attack'; L_PcntBleed.Symbol = 'Attack2'; L_PcntBleed.Index = Index; ItemEffect[Index] = 'PcntBleed'; ++Index; L_PcntBleed.SkillText = '% Bleed'; L_PcntBleed.Numeric = true; L_PcntBleed.EffectCost = 20; L_PcntBleed.MaxAmount = 100; L_PcntBleed.Gravity = 0; L_PcntBleed.ParentSkill = 'PhysicalDamage'; L_PcntBleed.Axes = 12; L_PcntBleed.Swords = 8; L_PcntBleed.Bows = 1; L_PcntBleed.Potions = 0; L_PcntBleed.Bombs = 0; L_PcntBleed.Charms = 0; L_PcntBleed.Shields = 0; L_PcntBleed.Wands = 0; L_ExtraBleedTime = new Object(); L_ExtraBleedTime.Type = 'Attack'; L_ExtraBleedTime.Symbol = 'Attack2'; L_ExtraBleedTime.Index = Index; ItemEffect[Index] = 'ExtraBleedTime'; ++Index; L_ExtraBleedTime.SkillText = ' +Bleed-Time'; L_ExtraBleedTime.Numeric = true; L_ExtraBleedTime.EffectCost = 20; L_ExtraBleedTime.MaxAmount = 500; L_ExtraBleedTime.Gravity = 0; L_ExtraBleedTime.ParentSkill = 'PcntBleed'; L_ExtraBleedTime.Axes = 40; L_ExtraBleedTime.Swords = 20; L_ExtraBleedTime.Bows = 5; L_ExtraBleedTime.Potions = 0; L_ExtraBleedTime.Bombs = 0; L_ExtraBleedTime.Charms = 0; L_ExtraBleedTime.Shields = 0; L_ExtraBleedTime.Wands = 0; L_ExtraBleedDamage = new Object(); L_ExtraBleedDamage.Type = 'Attack'; L_ExtraBleedDamage.Symbol = 'Attack2'; L_ExtraBleedDamage.Index = Index; ItemEffect[Index] = 'ExtraBleedDamage'; ++Index; L_ExtraBleedDamage.SkillText = ' +Bleed-Damage'; L_ExtraBleedDamage.Numeric = true; L_ExtraBleedDamage.EffectCost = 100; L_ExtraBleedDamage.MaxAmount = 10; L_ExtraBleedDamage.Gravity = 0; L_ExtraBleedDamage.ParentSkill = 'PcntBleed'; L_ExtraBleedDamage.Axes = 25; L_ExtraBleedDamage.Swords = 10; L_ExtraBleedDamage.Bows = 1; L_ExtraBleedDamage.Potions = 0; L_ExtraBleedDamage.Bombs = 0; L_ExtraBleedDamage.Charms = 0; L_ExtraBleedDamage.Shields = 0; L_ExtraBleedDamage.Wands = 0; L_Rage = new Object(); L_Rage.Type = 'Attack'; L_Rage.Symbol = 'Attack2'; L_Rage.Index = Index; ItemEffect[Index] = 'Rage'; ++Index; L_Rage.SkillText = ' Rage Per Use'; L_Rage.Numeric = true; L_Rage.EffectCost = 100; L_Rage.MaxAmount = 950; L_Rage.Gravity = 5; L_Rage.Axes = 10; L_Rage.Swords = 3; L_Rage.Bows = 1; L_Rage.Potions = 7; L_Rage.Bombs = 0; L_Rage.Charms = 1; L_Rage.Shields = 1; L_Rage.Wands = 0; L_AttackCharge = new Object(); L_AttackCharge.Type = 'Attack'; L_AttackCharge.Symbol = 'Attack2'; L_AttackCharge.Index = Index; ItemEffect[Index] = 'AttackCharge'; ++Index; L_AttackCharge.SkillText = ' Attack Charge'; L_AttackCharge.Numeric = true; L_AttackCharge.EffectCost = 100; L_AttackCharge.MaxAmount = 95000; L_AttackCharge.Gravity = -1; L_AttackCharge.Axes = 50; L_AttackCharge.Swords = 25; L_AttackCharge.Bows = 10; L_AttackCharge.Potions = 1; L_AttackCharge.Bombs = 0; L_AttackCharge.Charms = 5; L_AttackCharge.Shields = 0; L_AttackCharge.Wands = 1; L_MagicDamage = new Object(); L_MagicDamage.Type = 'Magic'; L_MagicDamage.Symbol = 'Magic1'; L_MagicDamage.Index = Index; ItemEffect[Index] = 'MagicDamage'; ++Index; L_MagicDamage.SkillText = ' M-Damage'; L_MagicDamage.Numeric = true; L_MagicDamage.EffectCost = 4; L_MagicDamage.MaxAmount = 5000000; L_MagicDamage.Gravity = -3; L_MagicDamage.Axes = 1; L_MagicDamage.Swords = 5; L_MagicDamage.Bows = 15; L_MagicDamage.Potions = 0; L_MagicDamage.Bombs = 75; L_MagicDamage.Charms = 0; L_MagicDamage.Shields = 0; L_MagicDamage.Wands = 90; L_AcidDamage = new Object(); L_AcidDamage.Type = 'Magic'; L_AcidDamage.Symbol = 'Magic1'; L_AcidDamage.Index = Index; ItemEffect[Index] = 'AcidDamage'; ++Index; L_AcidDamage.SkillText = ' Acid Damage'; L_AcidDamage.Numeric = true; L_AcidDamage.EffectCost = 50; L_AcidDamage.MaxAmount = 500000; L_AcidDamage.Gravity = -1; L_AcidDamage.Axes = 5; L_AcidDamage.Swords = 1; L_AcidDamage.Bows = 10; L_AcidDamage.Potions = 0; L_AcidDamage.Bombs = 25; L_AcidDamage.Charms = 0; L_AcidDamage.Shields = 0; L_AcidDamage.Wands = 1; L_MultiShot = new Object(); L_MultiShot.Type = 'Magic'; L_MultiShot.Symbol = 'Magic2'; L_MultiShot.Index = Index; ItemEffect[Index] = 'MultiShot'; ++Index; L_MultiShot.SkillText = 'x MultiShot'; L_MultiShot.Numeric = true; L_MultiShot.EffectCost = 100; L_MultiShot.MaxAmount = 73; L_MultiShot.Gravity = 20; L_MultiShot.Axes = 5; L_MultiShot.Swords = 25; L_MultiShot.Bows = 50; L_MultiShot.Potions = 0; L_MultiShot.Bombs = 0; L_MultiShot.Charms = 0; L_MultiShot.Shields = 0; L_MultiShot.Wands = 5; L_PcntIgnite = new Object(); L_PcntIgnite.Type = 'Magic'; L_PcntIgnite.Symbol = 'Magic2'; L_PcntIgnite.Index = Index; ItemEffect[Index] = 'PcntIgnite'; ++Index; L_PcntIgnite.SkillText = '% Ignite'; L_PcntIgnite.Numeric = true; L_PcntIgnite.EffectCost = 25; L_PcntIgnite.MaxAmount = 100; L_PcntIgnite.Gravity = -1; L_PcntIgnite.Axes = 1; L_PcntIgnite.Swords = 4; L_PcntIgnite.Bows = 8; L_PcntIgnite.Potions = 0; L_PcntIgnite.Bombs = 50; L_PcntIgnite.Charms = 0; L_PcntIgnite.Shields = 0; L_PcntIgnite.Wands = 10; L_ExtraIgniteDamage = new Object(); L_ExtraIgniteDamage.Type = 'Magic'; L_ExtraIgniteDamage.Symbol = 'Magic2'; L_ExtraIgniteDamage.Index = Index; ItemEffect[Index] = 'ExtraIgniteDamage'; ++Index; L_ExtraIgniteDamage.SkillText = ' +Ignite-DMG'; L_ExtraIgniteDamage.Numeric = true; L_ExtraIgniteDamage.EffectCost = 10; L_ExtraIgniteDamage.MaxAmount = 500000; L_ExtraIgniteDamage.Gravity = -1; L_ExtraIgniteDamage.ParentSkill = 'PcntIgnite'; L_ExtraIgniteDamage.Axes = 1; L_ExtraIgniteDamage.Swords = 1; L_ExtraIgniteDamage.Bows = 15; L_ExtraIgniteDamage.Potions = 0; L_ExtraIgniteDamage.Bombs = 95; L_ExtraIgniteDamage.Charms = 0; L_ExtraIgniteDamage.Shields = 0; L_ExtraIgniteDamage.Wands = 20; L_Burn = new Object(); L_Burn.Type = 'Magic'; L_Burn.Symbol = 'Magic2'; L_Burn.Index = Index; ItemEffect[Index] = 'Burn'; ++Index; L_Burn.SkillText = 's Burn'; L_Burn.Numeric = true; L_Burn.EffectCost = 300; L_Burn.MaxAmount = 30; L_Burn.Gravity = 1; L_Burn.Axes = 1; L_Burn.Swords = 2; L_Burn.Bows = 1; L_Burn.Potions = 0; L_Burn.Bombs = 8; L_Burn.Charms = 0; L_Burn.Shields = 0; L_Burn.Wands = 2; L_Freeze = new Object(); L_Freeze.Type = 'Magic'; L_Freeze.Symbol = 'Magic2'; L_Freeze.Index = Index; ItemEffect[Index] = 'Freeze'; ++Index; L_Freeze.SkillText = 's Freeze'; L_Freeze.Numeric = true; L_Freeze.EffectCost = 350; L_Freeze.MaxAmount = 5; L_Freeze.Gravity = 1; L_Freeze.Axes = 1; L_Freeze.Swords = 2; L_Freeze.Bows = 1; L_Freeze.Potions = 0; L_Freeze.Bombs = 4; L_Freeze.Charms = 0; L_Freeze.Shields = 0; L_Freeze.Wands = 2; L_BreakArmor = new Object(); L_BreakArmor.Type = 'Magic'; L_BreakArmor.Symbol = 'Magic2'; L_BreakArmor.Index = Index; ItemEffect[Index] = 'BreakArmor'; ++Index; L_BreakArmor.SkillText = '% Armor Break'; L_BreakArmor.Numeric = true; L_BreakArmor.EffectCost = 200; L_BreakArmor.MaxAmount = 21; L_BreakArmor.Gravity = 2; L_BreakArmor.Axes = 0; L_BreakArmor.Swords = 0; L_BreakArmor.Bows = 0; L_BreakArmor.Potions = 0; L_BreakArmor.Bombs = 5; L_BreakArmor.Charms = 0; L_BreakArmor.Shields = 0; L_BreakArmor.Wands = 0; L_Void = new Object(); L_Void.Type = 'Magic'; L_Void.Symbol = 'Magic2'; L_Void.Index = Index; ItemEffect[Index] = 'Void'; ++Index; L_Void.SkillText = ' Void-Damage'; L_Void.Numeric = true; L_Void.EffectCost = 15; L_Void.MaxAmount = 500000; L_Void.Gravity = -1; L_Void.Axes = 1; L_Void.Swords = 2; L_Void.Bows = 1; L_Void.Potions = 0; L_Void.Bombs = 10; L_Void.Charms = 0; L_Void.Shields = 0; L_Void.Wands = 5; L_DirectDamage = new Object(); L_DirectDamage.Type = 'Magic'; L_DirectDamage.Symbol = 'Magic2'; L_DirectDamage.Index = Index; ItemEffect[Index] = 'DirectDamage'; ++Index; L_DirectDamage.SkillText = ' Direct-Damage'; L_DirectDamage.Numeric = true; L_DirectDamage.EffectCost = 2; L_DirectDamage.MaxAmount = 500000; L_DirectDamage.Gravity = -2; L_DirectDamage.Axes = 1; L_DirectDamage.Swords = 1; L_DirectDamage.Bows = 15; L_DirectDamage.Potions = 0; L_DirectDamage.Bombs = 8; L_DirectDamage.Charms = 0; L_DirectDamage.Shields = 0; L_DirectDamage.Wands = 4; L_Poison = new Object(); L_Poison.Type = 'Magic'; L_Poison.Symbol = 'Magic2'; L_Poison.Index = Index; ItemEffect[Index] = 'Poison'; ++Index; L_Poison.SkillText = 's Poison'; L_Poison.Numeric = true; L_Poison.EffectCost = 250; L_Poison.MaxAmount = 30; L_Poison.Gravity = 1; L_Poison.Axes = 1; L_Poison.Swords = 1; L_Poison.Bows = 3; L_Poison.Potions = 0; L_Poison.Bombs = 10; L_Poison.Charms = 0; L_Poison.Shields = 0; L_Poison.Wands = 5; L_ExtraPoisonDamage = new Object(); L_ExtraPoisonDamage.Type = 'Magic'; L_ExtraPoisonDamage.Symbol = 'Magic2'; L_ExtraPoisonDamage.Index = Index; ItemEffect[Index] = 'ExtraPoisonDamage'; ++Index; L_ExtraPoisonDamage.SkillText = ' +Poison-%'; L_ExtraPoisonDamage.Numeric = true; L_ExtraPoisonDamage.EffectCost = 750; L_ExtraPoisonDamage.MaxAmount = 12; L_ExtraPoisonDamage.Gravity = 5; L_ExtraPoisonDamage.ParentSkill = 'Poison'; L_ExtraPoisonDamage.Axes = 1; L_ExtraPoisonDamage.Swords = 3; L_ExtraPoisonDamage.Bows = 5; L_ExtraPoisonDamage.Potions = 0; L_ExtraPoisonDamage.Bombs = 50; L_ExtraPoisonDamage.Charms = 0; L_ExtraPoisonDamage.Shields = 0; L_ExtraPoisonDamage.Wands = 10; L_Shock = new Object(); L_Shock.Type = 'Magic'; L_Shock.Symbol = 'Magic2'; L_Shock.Index = Index; ItemEffect[Index] = 'Shock'; ++Index; L_Shock.SkillText = 'Shock'; L_Shock.Numeric = false; L_Shock.EffectCost = 250; L_Shock.MaxAmount = 1; L_Shock.Gravity = 5; L_Shock.Axes = 1; L_Shock.Swords = 5; L_Shock.Bows = 1; L_Shock.Potions = 0; L_Shock.Bombs = 1; L_Shock.Charms = 0; L_Shock.Shields = 0; L_Shock.Wands = 10; L_ExtraShockDamage = new Object(); L_ExtraShockDamage.Type = 'Magic'; L_ExtraShockDamage.Symbol = 'Magic2'; L_ExtraShockDamage.Index = Index; ItemEffect[Index] = 'ExtraShockDamage'; ++Index; L_ExtraShockDamage.SkillText = '% +Shock-Bonus'; L_ExtraShockDamage.Numeric = true; L_ExtraShockDamage.EffectCost = 10; L_ExtraShockDamage.MaxAmount = 5000; L_ExtraShockDamage.Gravity = 0; L_ExtraShockDamage.ParentSkill = 'Shock'; L_ExtraShockDamage.Axes = 1; L_ExtraShockDamage.Swords = 15; L_ExtraShockDamage.Bows = 1; L_ExtraShockDamage.Potions = 0; L_ExtraShockDamage.Bombs = 50; L_ExtraShockDamage.Charms = 0; L_ExtraShockDamage.Shields = 0; L_ExtraShockDamage.Wands = 20; L_Cascade = new Object(); L_Cascade.Type = 'Magic'; L_Cascade.Symbol = 'Magic2'; L_Cascade.Index = Index; ItemEffect[Index] = 'Cascade'; ++Index; L_Cascade.SkillText = '% Cascade'; L_Cascade.Numeric = true; L_Cascade.EffectCost = 125; L_Cascade.MaxAmount = 1500; L_Cascade.Gravity = 3; L_Cascade.Axes = 0; L_Cascade.Swords = 0; L_Cascade.Bows = 1; L_Cascade.Potions = 0; L_Cascade.Bombs = 0; L_Cascade.Charms = 5; L_Cascade.Shields = 0; L_Cascade.Wands = 20; L_MagicCharge = new Object(); L_MagicCharge.Type = 'Magic'; L_MagicCharge.Symbol = 'Magic2'; L_MagicCharge.Index = Index; ItemEffect[Index] = 'MagicCharge'; ++Index; L_MagicCharge.SkillText = ' Magic Charge'; L_MagicCharge.Numeric = true; L_MagicCharge.EffectCost = 100; L_MagicCharge.MaxAmount = 95000; L_MagicCharge.Gravity = -1; L_MagicCharge.Axes = 1; L_MagicCharge.Swords = 5; L_MagicCharge.Bows = 1; L_MagicCharge.Potions = 1; L_MagicCharge.Bombs = 0; L_MagicCharge.Charms = 15; L_MagicCharge.Shields = 1; L_MagicCharge.Wands = 35; L_GoldOnHit = new Object(); L_GoldOnHit.Type = 'Utility'; L_GoldOnHit.Symbol = 'Utility1'; L_GoldOnHit.Index = Index; ItemEffect[Index] = 'GoldOnHit'; ++Index; L_GoldOnHit.SkillText = ' Gold On-Hit'; L_GoldOnHit.Numeric = true; L_GoldOnHit.EffectCost = 50; L_GoldOnHit.MaxAmount = 75; L_GoldOnHit.Gravity = 5; L_GoldOnHit.Axes = 1; L_GoldOnHit.Swords = 2; L_GoldOnHit.Bows = 4; L_GoldOnHit.Potions = 0; L_GoldOnHit.Bombs = 0; L_GoldOnHit.Charms = 0; L_GoldOnHit.Shields = 0; L_GoldOnHit.Wands = 8; L_GoldPerUse = new Object(); L_GoldPerUse.Type = 'Utility'; L_GoldPerUse.Symbol = 'Utility1'; L_GoldPerUse.Index = Index; ItemEffect[Index] = 'GoldPerUse'; ++Index; L_GoldPerUse.SkillText = ' Gold Per Use'; L_GoldPerUse.Numeric = true; L_GoldPerUse.EffectCost = 75; L_GoldPerUse.MaxAmount = 250; L_GoldPerUse.Gravity = 2; L_GoldPerUse.Axes = 1; L_GoldPerUse.Swords = 1; L_GoldPerUse.Bows = 1; L_GoldPerUse.Potions = 3; L_GoldPerUse.Bombs = 1; L_GoldPerUse.Charms = 10; L_GoldPerUse.Shields = 1; L_GoldPerUse.Wands = 1; L_StarsPerUse = new Object(); L_StarsPerUse.Type = 'Utility'; L_StarsPerUse.Symbol = 'Utility2'; L_StarsPerUse.Index = Index; ItemEffect[Index] = 'StarsPerUse'; ++Index; L_StarsPerUse.SkillText = ' Stars Per Use'; L_StarsPerUse.Numeric = true; L_StarsPerUse.EffectCost = 100; L_StarsPerUse.MaxAmount = 125; L_StarsPerUse.Gravity = 4; L_StarsPerUse.Axes = 1; L_StarsPerUse.Swords = 1; L_StarsPerUse.Bows = 1; L_StarsPerUse.Potions = 2; L_StarsPerUse.Bombs = 1; L_StarsPerUse.Charms = 6; L_StarsPerUse.Shields = 1; L_StarsPerUse.Wands = 1; L_UsesRefresh = new Object(); L_UsesRefresh.Type = 'Utility'; L_UsesRefresh.Symbol = 'Utility2'; L_UsesRefresh.Index = Index; ItemEffect[Index] = 'UsesRefresh'; ++Index; L_UsesRefresh.SkillText = '% Uses +1'; L_UsesRefresh.Numeric = true; L_UsesRefresh.EffectCost = 1; L_UsesRefresh.MaxAmount = 75; L_UsesRefresh.Gravity = 2; L_UsesRefresh.Axes = 4; L_UsesRefresh.Swords = 4; L_UsesRefresh.Bows = 4; L_UsesRefresh.Potions = 4; L_UsesRefresh.Bombs = 4; L_UsesRefresh.Charms = 4; L_UsesRefresh.Shields = 4; L_UsesRefresh.Wands = 4; L_ExtraSellValue = new Object(); L_ExtraSellValue.Type = 'Utility'; L_ExtraSellValue.Symbol = 'Utility2'; L_ExtraSellValue.Index = Index; ItemEffect[Index] = 'ExtraSellValue'; ++Index; L_ExtraSellValue.SkillText = ' +Sell Value'; L_ExtraSellValue.Numeric = true; L_ExtraSellValue.EffectCost = 25; L_ExtraSellValue.MaxAmount = 2000; L_ExtraSellValue.Gravity = 1; L_ExtraSellValue.Axes = 0; L_ExtraSellValue.Swords = 0; L_ExtraSellValue.Bows = 0; L_ExtraSellValue.Potions = 0; L_ExtraSellValue.Bombs = 0; L_ExtraSellValue.Charms = 10; L_ExtraSellValue.Shields = 0; L_ExtraSellValue.Wands = 0; L_ExtraDestroyValue = new Object(); L_ExtraDestroyValue.Type = 'Utility'; L_ExtraDestroyValue.Symbol = 'Utility2'; L_ExtraDestroyValue.Index = Index; ItemEffect[Index] = 'ExtraDestroyValue'; ++Index; L_ExtraDestroyValue.SkillText = ' +Destroy Value'; L_ExtraDestroyValue.Numeric = true; L_ExtraDestroyValue.EffectCost = 25; L_ExtraDestroyValue.MaxAmount = 2000; L_ExtraDestroyValue.Gravity = 1; L_ExtraDestroyValue.Axes = 0; L_ExtraDestroyValue.Swords = 0; L_ExtraDestroyValue.Bows = 0; L_ExtraDestroyValue.Potions = 10; L_ExtraDestroyValue.Bombs = 0; L_ExtraDestroyValue.Charms = 0; L_ExtraDestroyValue.Shields = 0; L_ExtraDestroyValue.Wands = 0; L_CureAll = new Object(); L_CureAll.Type = 'Special'; L_CureAll.Symbol = 'Special1'; L_CureAll.Index = Index; ItemEffect[Index] = 'CureAll'; ++Index; L_CureAll.SkillText = 'CURE ALL'; L_CureAll.Numeric = false; L_CureAll.EffectCost = 5000; L_CureAll.MaxAmount = 1; L_CureAll.Gravity = 10; L_CureAll.Axes = 0; L_CureAll.Swords = 0; L_CureAll.Bows = 0; L_CureAll.Potions = 1; L_CureAll.Bombs = 0; L_CureAll.Charms = 0; L_CureAll.Shields = 0; L_CureAll.Wands = 0; L_CureStun = new Object(); L_CureStun.Type = 'Special'; L_CureStun.Symbol = 'Special1'; L_CureStun.Index = Index; ItemEffect[Index] = 'CureStun'; ++Index; L_CureStun.SkillText = 'Cure Stun'; L_CureStun.Numeric = false; L_CureStun.EffectCost = 300; L_CureStun.MaxAmount = 1; L_CureStun.Gravity = 5; L_CureStun.Axes = 0; L_CureStun.Swords = 0; L_CureStun.Bows = 0; L_CureStun.Potions = 4; L_CureStun.Bombs = 0; L_CureStun.Charms = 0; L_CureStun.Shields = 0; L_CureStun.Wands = 0; L_CureFreeze = new Object(); L_CureFreeze.Type = 'Special'; L_CureFreeze.Symbol = 'Special1'; L_CureFreeze.Index = Index; ItemEffect[Index] = 'CureFreeze'; ++Index; L_CureFreeze.SkillText = 'Cure Freeze'; L_CureFreeze.Numeric = false; L_CureFreeze.EffectCost = 300; L_CureFreeze.MaxAmount = 1; L_CureFreeze.Gravity = 5; L_CureFreeze.Axes = 0; L_CureFreeze.Swords = 0; L_CureFreeze.Bows = 0; L_CureFreeze.Potions = 4; L_CureFreeze.Bombs = 0; L_CureFreeze.Charms = 0; L_CureFreeze.Shields = 0; L_CureFreeze.Wands = 0; L_CureBurn = new Object(); L_CureBurn.Type = 'Special'; L_CureBurn.Symbol = 'Special1'; L_CureBurn.Index = Index; ItemEffect[Index] = 'CureBurn'; ++Index; L_CureBurn.SkillText = 'Cure Burn'; L_CureBurn.Numeric = false; L_CureBurn.EffectCost = 250; L_CureBurn.MaxAmount = 1; L_CureBurn.Gravity = 5; L_CureBurn.Axes = 0; L_CureBurn.Swords = 0; L_CureBurn.Bows = 0; L_CureBurn.Potions = 6; L_CureBurn.Bombs = 0; L_CureBurn.Charms = 0; L_CureBurn.Shields = 0; L_CureBurn.Wands = 0; L_CureBleed = new Object(); L_CureBleed.Type = 'Special'; L_CureBleed.Symbol = 'Special1'; L_CureBleed.Index = Index; ItemEffect[Index] = 'CureBleed'; ++Index; L_CureBleed.SkillText = 'Cure Bleed'; L_CureBleed.Numeric = false; L_CureBleed.EffectCost = 250; L_CureBleed.MaxAmount = 1; L_CureBleed.Gravity = 5; L_CureBleed.Axes = 0; L_CureBleed.Swords = 0; L_CureBleed.Bows = 0; L_CureBleed.Potions = 5; L_CureBleed.Bombs = 0; L_CureBleed.Charms = 0; L_CureBleed.Shields = 0; L_CureBleed.Wands = 0; L_CureShock = new Object(); L_CureShock.Type = 'Special'; L_CureShock.Symbol = 'Special1'; L_CureShock.Index = Index; ItemEffect[Index] = 'CureShock'; ++Index; L_CureShock.SkillText = 'Cure Shock'; L_CureShock.Numeric = false; L_CureShock.EffectCost = 200; L_CureShock.MaxAmount = 1; L_CureShock.Gravity = 5; L_CureShock.Axes = 0; L_CureShock.Swords = 0; L_CureShock.Bows = 0; L_CureShock.Potions = 5; L_CureShock.Bombs = 0; L_CureShock.Charms = 0; L_CureShock.Shields = 0; L_CureShock.Wands = 0; L_CureIgnite = new Object(); L_CureIgnite.Type = 'Special'; L_CureIgnite.Symbol = 'Special1'; L_CureIgnite.Index = Index; ItemEffect[Index] = 'CureIgnite'; ++Index; L_CureIgnite.SkillText = 'Cure Ignite'; L_CureIgnite.Numeric = false; L_CureIgnite.EffectCost = 400; L_CureIgnite.MaxAmount = 1; L_CureIgnite.Gravity = 5; L_CureIgnite.Axes = 0; L_CureIgnite.Swords = 0; L_CureIgnite.Bows = 0; L_CureIgnite.Potions = 5; L_CureIgnite.Bombs = 0; L_CureIgnite.Charms = 0; L_CureIgnite.Shields = 0; L_CureIgnite.Wands = 0; L_CureVoid = new Object(); L_CureVoid.Type = 'Special'; L_CureVoid.Symbol = 'Special1'; L_CureVoid.Index = Index; ItemEffect[Index] = 'CureVoid'; ++Index; L_CureVoid.SkillText = 'Cure Void'; L_CureVoid.Numeric = false; L_CureVoid.EffectCost = 1000; L_CureVoid.MaxAmount = 1; L_CureVoid.Gravity = 10; L_CureVoid.Axes = 0; L_CureVoid.Swords = 0; L_CureVoid.Bows = 0; L_CureVoid.Potions = 2; L_CureVoid.Bombs = 0; L_CureVoid.Charms = 0; L_CureVoid.Shields = 0; L_CureVoid.Wands = 0; L_CureFrost = new Object(); L_CureFrost.Type = 'Special'; L_CureFrost.Symbol = 'Special1'; L_CureFrost.Index = Index; ItemEffect[Index] = 'CureFrost'; ++Index; L_CureFrost.SkillText = 'Cure Frost'; L_CureFrost.Numeric = false; L_CureFrost.EffectCost = 250; L_CureFrost.MaxAmount = 1; L_CureFrost.Gravity = 5; L_CureFrost.Axes = 0; L_CureFrost.Swords = 0; L_CureFrost.Bows = 0; L_CureFrost.Potions = 4; L_CureFrost.Bombs = 0; L_CureFrost.Charms = 0; L_CureFrost.Shields = 0; L_CureFrost.Wands = 0; L_CurePoison = new Object(); L_CurePoison.Type = 'Special'; L_CurePoison.Symbol = 'Special1'; L_CurePoison.Index = Index; ItemEffect[Index] = 'CurePoison'; ++Index; L_CurePoison.SkillText = 'Cure Poison'; L_CurePoison.Numeric = false; L_CurePoison.EffectCost = 200; L_CurePoison.MaxAmount = 1; L_CurePoison.Gravity = 5; L_CurePoison.Axes = 0; L_CurePoison.Swords = 0; L_CurePoison.Bows = 0; L_CurePoison.Potions = 10; L_CurePoison.Bombs = 0; L_CurePoison.Charms = 0; L_CurePoison.Shields = 0; L_CurePoison.Wands = 0; L_PreventStun = new Object(); L_PreventStun.Type = 'Special'; L_PreventStun.Symbol = 'Special1'; L_PreventStun.Index = Index; ItemEffect[Index] = 'PreventStun'; ++Index; L_PreventStun.SkillText = 's Stun-Prevent'; L_PreventStun.Numeric = true; L_PreventStun.EffectCost = 100; L_PreventStun.MaxAmount = 30; L_PreventStun.Gravity = 10; L_PreventStun.Axes = 0; L_PreventStun.Swords = 0; L_PreventStun.Bows = 0; L_PreventStun.Potions = 0; L_PreventStun.Bombs = 0; L_PreventStun.Charms = 0; L_PreventStun.Shields = 1; L_PreventStun.Wands = 0; L_PreventFreeze = new Object(); L_PreventFreeze.Type = 'Special'; L_PreventFreeze.Symbol = 'Special1'; L_PreventFreeze.Index = Index; ItemEffect[Index] = 'PreventFreeze'; ++Index; L_PreventFreeze.SkillText = 's Freeze-Prevent'; L_PreventFreeze.Numeric = true; L_PreventFreeze.EffectCost = 100; L_PreventFreeze.MaxAmount = 30; L_PreventFreeze.Gravity = 10; L_PreventFreeze.Axes = 0; L_PreventFreeze.Swords = 0; L_PreventFreeze.Bows = 0; L_PreventFreeze.Potions = 0; L_PreventFreeze.Bombs = 0; L_PreventFreeze.Charms = 0; L_PreventFreeze.Shields = 1; L_PreventFreeze.Wands = 0; L_PreventBurn = new Object(); L_PreventBurn.Type = 'Special'; L_PreventBurn.Symbol = 'Special1'; L_PreventBurn.Index = Index; ItemEffect[Index] = 'PreventBurn'; ++Index; L_PreventBurn.SkillText = 's Burn-Prevent'; L_PreventBurn.Numeric = true; L_PreventBurn.EffectCost = 100; L_PreventBurn.MaxAmount = 30; L_PreventBurn.Gravity = 20; L_PreventBurn.Axes = 0; L_PreventBurn.Swords = 0; L_PreventBurn.Bows = 0; L_PreventBurn.Potions = 0; L_PreventBurn.Bombs = 0; L_PreventBurn.Charms = 0; L_PreventBurn.Shields = 1; L_PreventBurn.Wands = 0; L_PreventBleed = new Object(); L_PreventBleed.Type = 'Special'; L_PreventBleed.Symbol = 'Special1'; L_PreventBleed.Index = Index; ItemEffect[Index] = 'PreventBleed'; ++Index; L_PreventBleed.SkillText = 's Bleed-Prevent'; L_PreventBleed.Numeric = true; L_PreventBleed.EffectCost = 100; L_PreventBleed.MaxAmount = 30; L_PreventBleed.Gravity = 10; L_PreventBleed.Axes = 0; L_PreventBleed.Swords = 0; L_PreventBleed.Bows = 0; L_PreventBleed.Potions = 0; L_PreventBleed.Bombs = 0; L_PreventBleed.Charms = 0; L_PreventBleed.Shields = 1; L_PreventBleed.Wands = 0; L_PreventShock = new Object(); L_PreventShock.Type = 'Special'; L_PreventShock.Symbol = 'Special1'; L_PreventShock.Index = Index; ItemEffect[Index] = 'PreventShock'; ++Index; L_PreventShock.SkillText = 's Shock-Prevent'; L_PreventShock.Numeric = true; L_PreventShock.EffectCost = 100; L_PreventShock.MaxAmount = 30; L_PreventShock.Gravity = 20; L_PreventShock.Axes = 0; L_PreventShock.Swords = 0; L_PreventShock.Bows = 0; L_PreventShock.Potions = 0; L_PreventShock.Bombs = 0; L_PreventShock.Charms = 0; L_PreventShock.Shields = 1; L_PreventShock.Wands = 0; L_PreventIgnite = new Object(); L_PreventIgnite.Type = 'Special'; L_PreventIgnite.Symbol = 'Special1'; L_PreventIgnite.Index = Index; ItemEffect[Index] = 'PreventIgnite'; ++Index; L_PreventIgnite.SkillText = 's Ignite-Prevent'; L_PreventIgnite.Numeric = true; L_PreventIgnite.EffectCost = 100; L_PreventIgnite.MaxAmount = 30; L_PreventIgnite.Gravity = 25; L_PreventIgnite.Axes = 0; L_PreventIgnite.Swords = 0; L_PreventIgnite.Bows = 0; L_PreventIgnite.Potions = 0; L_PreventIgnite.Bombs = 0; L_PreventIgnite.Charms = 0; L_PreventIgnite.Shields = 1; L_PreventIgnite.Wands = 0; L_PreventVoid = new Object(); L_PreventVoid.Type = 'Special'; L_PreventVoid.Symbol = 'Special1'; L_PreventVoid.Index = Index; ItemEffect[Index] = 'PreventVoid'; ++Index; L_PreventVoid.SkillText = 's Void-Prevent'; L_PreventVoid.Numeric = true; L_PreventVoid.EffectCost = 500; L_PreventVoid.MaxAmount = 30; L_PreventVoid.Gravity = 40; L_PreventVoid.Axes = 0; L_PreventVoid.Swords = 0; L_PreventVoid.Bows = 0; L_PreventVoid.Potions = 0; L_PreventVoid.Bombs = 0; L_PreventVoid.Charms = 0; L_PreventVoid.Shields = 1; L_PreventVoid.Wands = 0; L_PreventFrost = new Object(); L_PreventFrost.Type = 'Special'; L_PreventFrost.Symbol = 'Special1'; L_PreventFrost.Index = Index; ItemEffect[Index] = 'PreventFrost'; ++Index; L_PreventFrost.SkillText = 's Frost-Prevent'; L_PreventFrost.Numeric = true; L_PreventFrost.EffectCost = 100; L_PreventFrost.MaxAmount = 30; L_PreventFrost.Gravity = 15; L_PreventFrost.Axes = 0; L_PreventFrost.Swords = 0; L_PreventFrost.Bows = 0; L_PreventFrost.Potions = 0; L_PreventFrost.Bombs = 0; L_PreventFrost.Charms = 0; L_PreventFrost.Shields = 1; L_PreventFrost.Wands = 0; L_PreventPoison = new Object(); L_PreventPoison.Type = 'Special'; L_PreventPoison.Symbol = 'Special1'; L_PreventPoison.Index = Index; ItemEffect[Index] = 'PreventPoison'; ++Index; L_PreventPoison.SkillText = 's Poison-Prevent'; L_PreventPoison.Numeric = true; L_PreventPoison.EffectCost = 100; L_PreventPoison.MaxAmount = 30; L_PreventPoison.Gravity = 20; L_PreventPoison.Axes = 0; L_PreventPoison.Swords = 0; L_PreventPoison.Bows = 0; L_PreventPoison.Potions = 0; L_PreventPoison.Bombs = 0; L_PreventPoison.Charms = 0; L_PreventPoison.Shields = 1; L_PreventPoison.Wands = 0; L_PreventAcid = new Object(); L_PreventAcid.Type = 'Special'; L_PreventAcid.Symbol = 'Special1'; L_PreventAcid.Index = Index; ItemEffect[Index] = 'PreventAcid'; ++Index; L_PreventAcid.SkillText = 's Acid-Prevent'; L_PreventAcid.Numeric = true; L_PreventAcid.EffectCost = 500; L_PreventAcid.MaxAmount = 30; L_PreventAcid.Gravity = 25; L_PreventAcid.Axes = 0; L_PreventAcid.Swords = 0; L_PreventAcid.Bows = 0; L_PreventAcid.Potions = 0; L_PreventAcid.Bombs = 0; L_PreventAcid.Charms = 0; L_PreventAcid.Shields = 1; L_PreventAcid.Wands = 0; ArtifactList = new Array(); I_Artifact0 = new Object(); I_Artifact0.Name = 'Artifact' + ArtifactID; ++ArtifactID; I_Artifact0.Type = 'Artifact'; I_Artifact0.GFX = 'Z_confusion'; I_Artifact0.MaxUses = 50; I_Artifact0.TotalCooldown = 1; I_Artifact0.Rarity = 0; I_Artifact0.Effect1 = 'CureAll'; I_Artifact0.Value1 = 1; I_Artifact0.Effect2 = 'PcntHeal'; I_Artifact0.Value2 = 100; I_Artifact0.Effect3 = 'None'; I_Artifact0.Value3 = 1; I_Artifact0.Effect4 = 'None'; I_Artifact0.Value4 = 1; } frame 2 { function onUserItems(result) { trace('User item list received, success: ' + result.success); if (result.success == true) { StageRef.X1.text = 'load success'; StageRef.X2.text = 'kong data length:' + result.data.length; i = 0; while (i < result.data.length) { var v1 = result.data[i]; StageRef['t' + i].text = v1.identifier; if (v1.identifier == 'heromode') { StageRef.HeroUnlock = true; RefreshPowerMultGFX(); } if (v1.identifier == 'herobundle') { StageRef.HeroUnlock = true; RefreshPowerMultGFX(); } if (v1.identifier == 'tomeextra') { StageRef.TomePower += 5; } if (v1.identifier == 'skilltypeextra') { StageRef.SkillEnhance += 2; } if (v1.identifier == 'starpowerextra') { StageRef.StarPowerMult += 2; RefreshPowerMultGFX(); } if (v1.identifier == 'goldpowerextra') { StageRef.GoldPowerMult += 2; RefreshPowerMultGFX(); } if (v1.identifier == 'itemsaveslot') { StageRef.ItemSaveAbility = true; StageRef.FallenHERO._visible = true; } ++i; } } else { t1.text = 'kongload success=false'; } } function RefreshPowers() { ChallengeSum = 0; i = 1; while (i < GameModes.length) { if (this['Mode' + i + 'Stage'] != undefined) { ChallengeSum += this['Mode' + i + 'Stage'] * ((100 + this['G_Mode' + i].StageBonus) / 100); } ChallengeSum = Math.ceil(ChallengeSum); ++i; } Deaths_txt.text = 'Deaths: ' + Deaths; StarPowerMC.HighestStage_txt.text = 'Highest Stage: ' + HighestStage + ' (+' + HighestStage * 400 + ')'; StarPowerMC.ChallengeValue_txt.text = 'Challenge Value: ' + ChallengeSum + ' (+' + ChallengeSum * 50 + ')'; StarPowerMC.TotalStages_txt.text = 'Total Stages: ' + TotalStages + ' (+' + Math.floor(Math.sqrt(TotalStages * 2) * 100) + ')'; StarPowerMC.BestHero_txt.text = 'Best Hero Level: ' + BestHeroLevel + ' (+' + Math.floor(Math.sqrt(BestHeroLevel) * 50) + ')'; StarPowerMC.StarsHoarded_txt.text = 'Stars Hoarded: ' + StarsHoarded + ' (+' + Math.floor(Math.sqrt(StarsHoarded * 2) * 10) + ')'; StarPowerMC.HighestSkill_txt.text = 'Highest Level Skill: ' + HighestSkill + ' (+' + HighestSkill * 5 + ')'; Star2 = HighestStage * 400 + ChallengeSum * 50 + Math.floor(Math.sqrt(TotalStages * 2) * 100) + Math.floor(Math.sqrt(BestHeroLevel) * 50) + Math.floor(Math.sqrt(StarsHoarded * 2) * 10) + HighestSkill * 5; Star1 = Star2; StarPower = Star1; Star2 = Star1 + 5; Star1 = Star2; if (StarPower < 0) { StarPower = 0; } StarPowerMC.StarPower_txt.text = '+' + StarPower; GoldPowerMC.HighestStage_txt.text = 'Highest Stage: ' + HighestStage + ' (+' + HighestStage * 75 + ')'; GoldPowerMC.ChallengeValue_txt.text = 'Challenge Value: ' + ChallengeSum + ' (+' + ChallengeSum * 5 + ')'; GoldPowerMC.TotalStages_txt.text = 'Total Stages: ' + TotalStages + ' (+' + Math.floor(Math.sqrt(TotalStages * 10) * 25) + ')'; GoldPowerMC.BestItem_txt.text = 'Best Item Rarity: ' + BestItemRarity + ' (+' + Math.floor(Math.sqrt(BestItemRarity) * 40) + ')'; GoldPowerMC.GoldHoarded_txt.text = 'Gold Hoarded: ' + GoldHoarded + ' (+' + Math.floor(Math.sqrt(GoldHoarded) * 5) + ')'; GoldPowerMC.MostLoot_txt.text = 'Most Loot Found: ' + MostLootFound + ' (+' + MostLootFound * 5 + ')'; Gold2 = HighestStage * 75 + ChallengeSum * 5 + Math.floor(Math.sqrt(TotalStages * 10) * 25) + Math.floor(Math.sqrt(BestItemRarity) * 40) + Math.floor(Math.sqrt(GoldHoarded) * 5) + MostLootFound * 5; Gold1 = Gold2; GoldPower = Gold1; Gold2 = Gold1 + 5; Gold1 = Gold2; if (GoldPower < 0) { GoldPower = 0; } GoldPowerMC.GoldPower_txt.text = '+' + GoldPower; if (StarPower > HighStar) { SharedObjectSave.data.HighStar = StarPower; NewStar._visible = true; } if (GoldPower > HighGold) { SharedObjectSave.data.HighGold = GoldPower; NewGold._visible = true; } if (StarPower == 0) { StarPowerMC._alpha = 50; } if (GoldPower == 0) { GoldPowerMC._alpha = 50; } } function SaveItem() { ID = ACTIVEITEM1.ItemID; SharedObjectSave.data.ItemAvailable = true; SharedObjectSave.data.Name = this['I_Item' + ID].Name; SharedObjectSave.data.Type = this['I_Item' + ID].Type; SharedObjectSave.data.GFX = this['I_Item' + ID].GFX; SharedObjectSave.data.MaxUses = this['I_Item' + ID].MaxUses; SharedObjectSave.data.TotalCooldown = this['I_Item' + ID].TotalCooldown; SharedObjectSave.data.Rarity = this['I_Item' + ID].Rarity; SharedObjectSave.data.Effect1 = this['I_Item' + ID].Effect1; SharedObjectSave.data.Value1 = this['I_Item' + ID].Value1; SharedObjectSave.data.Effect2 = this['I_Item' + ID].Effect2; SharedObjectSave.data.Value2 = this['I_Item' + ID].Value2; SharedObjectSave.data.Effect3 = this['I_Item' + ID].Effect3; SharedObjectSave.data.Value3 = this['I_Item' + ID].Value3; SharedObjectSave.data.Effect4 = this['I_Item' + ID].Effect4; SharedObjectSave.data.Value4 = this['I_Item' + ID].Value4; SharedObjectSave.flush(); } function TitleSpider() { if (RN(5000) < 40) { Spider.TargetX = Web._x + RN(100, -50); Spider.TargetY = Web._y + RN(100, 125); } if (RN(50000) < 20) { Spider.TargetX = Web._x + RN(300, -150); Spider.TargetY = Web._y + RN(150, 150); } if (Spider._x < Spider.TargetX + 5) { ++Spider._x; } if (Spider._x > Spider.TargetX - 5) { --Spider._x; } if (Spider._y < Spider.TargetY + 5) { ++Spider._y; } if (Spider._y > Spider.TargetY - 5) { --Spider._y; } } function ResetGameData() { i = 0; while (i < GameModes.length) { SharedObjectSave.data['Mode' + i + 'Stage'] = 0; this['Mode' + i + 'Stage'] = 0; ++i; } TotalStages = 0; HighestStage = 0; Deaths = 0; BestHeroLevel = 0; BestItemRarity = 0; HighStar = 0; HighGold = 0; StarsHoarded = 0; HighestSkill = 0; GoldHoarded = 0; MostLootFound = 0; SharedObjectSave.data.TotalStages = 0; SharedObjectSave.data.HighestStage = 0; SharedObjectSave.data.Deaths = 0; SharedObjectSave.data.BestHeroLevel = 0; SharedObjectSave.data.BestItemRarity = 0; SharedObjectSave.data.StarsHoarded = 0; SharedObjectSave.data.HighestSkill = 0; SharedObjectSave.data.GoldHoarded = 0; SharedObjectSave.data.MostLootFound = 0; SharedObjectSave.data.HighStar = 0; SharedObjectSave.data.HighGold = 0; SharedObjectSave.flush(); RefreshPowers(); } function RefreshPowerMultGFX() { StarMult._visible = false; GoldMult._visible = false; if (HeroUnlock == true) { StarMult._visible = true; GoldMult._visible = true; StarMult.gotoAndStop(StarPowerMult); GoldMult.gotoAndStop(GoldPowerMult); } } function LoadItemCell(Target, ItemID) { GFX = this['L_' + this[ItemID].GFX].GFX1; var v4 = Target.ItemIconBox.attachMovie(GFX, 'Icon', 1); Target.Uses.text = this[ItemID].MaxUses + ' uses'; Target.CD.text = this[ItemID].TotalCooldown; Target.Effect1.text = BigNumber(this[ItemID].Value1) + this['L_' + this[ItemID].Effect1].SkillText; if (this['L_' + this[ItemID].Effect1].Numeric != true) { Target.Effect1.text = this['L_' + this[ItemID].Effect1].SkillText; } if (this[ItemID].Effect1 == 'None') { Target.Effect1.text = ''; } Target.EffectSymbol1.gotoAndStop(this['L_' + this[ItemID].Effect1].Symbol); Target.Effect2.text = BigNumber(this[ItemID].Value2) + this['L_' + this[ItemID].Effect2].SkillText; if (this['L_' + this[ItemID].Effect2].Numeric != true) { Target.Effect2.text = this['L_' + this[ItemID].Effect2].SkillText; } if (this[ItemID].Effect2 == 'None') { Target.Effect2.text = ''; } Target.EffectSymbol2.gotoAndStop(this['L_' + this[ItemID].Effect2].Symbol); Target.Effect3.text = BigNumber(this[ItemID].Value3) + this['L_' + this[ItemID].Effect3].SkillText; if (this['L_' + this[ItemID].Effect3].Numeric != true) { Target.Effect3.text = this['L_' + this[ItemID].Effect3].SkillText; } if (this[ItemID].Effect3 == 'None') { Target.Effect3.text = ''; } Target.EffectSymbol3.gotoAndStop(this['L_' + this[ItemID].Effect3].Symbol); Target.Effect4.text = BigNumber(this[ItemID].Value4) + this['L_' + this[ItemID].Effect4].SkillText; if (this['L_' + this[ItemID].Effect4].Numeric != true) { Target.Effect4.text = this['L_' + this[ItemID].Effect4].SkillText; } if (this[ItemID].Effect4 == 'None') { Target.Effect4.text = ''; } Target.EffectSymbol4.gotoAndStop(this['L_' + this[ItemID].Effect4].Symbol); RarityGFX = 1; R = this[ItemID].Rarity; if (R < 50) { RarityGFX = 1; } else { if (R < 500) { RarityGFX = 1 + Math.ceil(R / 100); } else { RarityGFX = 5 + Math.ceil(Math.sqrt(R / 100)); } } Target.RarityIcon.gotoAndStop(RarityGFX); Target.RarityDT.text = Math.floor(this[ItemID].Rarity); } stop(); _global.GameOver = false; _global.GamePause = false; Spider.swapDepths(100); if (FirstLoad == undefined) { LoadGameModeEffects(0); FirstLoad = true; HeroGhostStage = 0; HeroGhostClass = 0; _global.AttackSpeedThrottle = 1; _global.CastSpeedThrottle = 2; _global.MultifireCondense = 0; _global.StarGoldCondense = 0; _global.DamageNumbers = true; _global.NumberCrunch = false; HeroUnlock = false; SkillEnhance = 1; TomePower = 5; ItemSaveAbility = false; FallenHERO._visible = false; StarPowerMult = 2; GoldPowerMult = 2; SpecialSkill = true; BannedSkill = false; BoostUses = 5; kongregate.mtx.requestUserItemList(null, onUserItems); } ModeSelect.gotoAndStop(_global.GameMode + 1); GhostInfo.DT.text = 'Stage ' + HeroGhostStage + '!'; GhostInfo.DT2.text = '(Value: ' + (500 + HeroGhostStage * 100) + ' stars)'; GhostInfo.DT3.text = HeroGhostClass + ' Ghost'; if (HeroGhostStage == 0) { GhostInfo._visible = false; } StageRef = this; Time = -5; this.onEnterFrame = function () { if (StarPower != Star1 - 5) { StarPower = Star2 - 5; } if (Star2 != Star1 - 5) { Star2 = Star1 - 5; } if (GoldPower != Gold1 - 5) { GoldPower = Gold2 - 5; } if (Gold2 != Gold1 - 5) { Gold2 = Gold1 - 5; } ++Time; if (Time % 400 == 0) { TrackerText('SaveMe2', B, ''); } TitleSpider(); }; ItemSave = new Object(); ItemSave.Name = 'Item0'; ItemSave.Type = 'Shield'; ItemSave.GFX = 'Shield1'; ItemSave.MaxUses = 0; ItemSave.TotalCooldown = 30; ItemSave.Rarity = 0; ItemSave.Effect1 = 'None'; ItemSave.Value1 = 0; ItemSave.Effect2 = 'None'; ItemSave.Value2 = 0; ItemSave.Effect3 = 'None'; ItemSave.Value3 = 0; ItemSave.Effect4 = 'None'; ItemSave.Value4 = 0; ItemAvailable = false; FallenHERO._visible = false; NewStar._visible = false; NewGold._visible = false; SharedObjectSave = SharedObject.getLocal('SaveGame'); Gold1 = 0; Star1 = 0; Gold2 = 0; Star2 = 0; if (SharedObjectSave.data.HighestStage != undefined) { i = 0; while (i < GameModes.length) { if (SharedObjectSave.data['Mode' + i + 'Stage'] == undefined) { SharedObjectSave.data['Mode' + i + 'Stage'] = 0; } this['Mode' + i + 'Stage'] = SharedObjectSave.data['Mode' + i + 'Stage']; trace(this['Mode' + i + 'Stage']); ++i; } if (SharedObjectSave.data.TotalStages == undefined) { SharedObjectSave.data.TotalStages = 0; } TotalStages = SharedObjectSave.data.TotalStages; HighestStage = SharedObjectSave.data.HighestStage; Deaths = SharedObjectSave.data.Deaths; HighStar = SharedObjectSave.data.HighStar; HighGold = SharedObjectSave.data.HighGold; BestHeroLevel = SharedObjectSave.data.BestHeroLevel; BestItemRarity = SharedObjectSave.data.BestItemRarity; if (BestHeroLevel == undefined) { SharedObjectSave.data.BestHeroLevel = 0; BestHeroLevel = 0; SharedObjectSave.data.BestItemRarity = 0; BestItemRarity = 0; } StarsHoarded = SharedObjectSave.data.StarsHoarded; HighestSkill = SharedObjectSave.data.HighestSkill; GoldHoarded = SharedObjectSave.data.GoldHoarded; MostLootFound = SharedObjectSave.data.MostLootFound; if (StarsHoarded == undefined) { SharedObjectSave.data.StarsHoarded = 0; StarsHoarded = 0; SharedObjectSave.data.HighestSkill = 0; HighestSkill = 0; SharedObjectSave.data.GoldHoarded = 0; GoldHoarded = 0; SharedObjectSave.data.MostLootFound = 0; MostLootFound = 0; } ItemAvailable = SharedObjectSave.data.ItemAvailable; if (ItemAvailable == true) { ItemSave.Name = SharedObjectSave.data.Name; ItemSave.Type = SharedObjectSave.data.Type; ItemSave.GFX = SharedObjectSave.data.GFX; ItemSave.MaxUses = SharedObjectSave.data.MaxUses; ItemSave.TotalCooldown = SharedObjectSave.data.TotalCooldown; ItemSave.Rarity = SharedObjectSave.data.Rarity; ItemSave.Effect1 = SharedObjectSave.data.Effect1; ItemSave.Value1 = SharedObjectSave.data.Value1; ItemSave.Effect2 = SharedObjectSave.data.Effect2; ItemSave.Value2 = SharedObjectSave.data.Value2; ItemSave.Effect3 = SharedObjectSave.data.Effect3; ItemSave.Value3 = SharedObjectSave.data.Value3; ItemSave.Effect4 = SharedObjectSave.data.Effect4; ItemSave.Value4 = SharedObjectSave.data.Value4; LoadItemCell(FallenHERO.ITEM, 'ItemSave'); trace('load saved item'); } } else { i = 0; while (i < GameModes.length) { SharedObjectSave.data['Mode' + i + 'Stage'] = 0; this['Mode' + i + 'Stage'] = 0; ++i; } TotalStages = 0; HighestStage = 0; Deaths = 0; HighStar = 0; HighGold = 0; BestHeroLevel = 0; BestItemRarity = 0; SharedObjectSave.data.TotalStages = 0; SharedObjectSave.data.HighestStage = 0; SharedObjectSave.data.Deaths = 0; SharedObjectSave.data.HighStar = 0; SharedObjectSave.data.HighGold = 0; SharedObjectSave.data.BestHeroLevel = 0; SharedObjectSave.data.BestItemRarity = 0; SharedObjectSave.data.StarsHoarded = 0; StarsHoarded = 0; SharedObjectSave.data.HighestSkill = 0; HighestSkill = 0; SharedObjectSave.data.GoldHoarded = 0; GoldHoarded = 0; SharedObjectSave.data.MostLootFound = 0; MostLootFound = 0; SharedObjectSave.flush(); } RefreshPowers(); kongregate.stats.submit('initialized', 1); if (FirstLoad2 != undefined) { kongregate.stats.submit('Deaths', Deaths); kongregate.stats.submit('StarPower', StarPower); kongregate.stats.submit('GoldPower', GoldPower); } else { FirstLoad2 = true; } RefreshPowerMultGFX(); var Txt = this.attachMovie('BleedDamageText', 'deathText5', 1234567999); Txt._x = EvilMark._x; Txt._y = EvilMark._y; Txt.Life = 50; Txt.DT.text = Deaths; Txt.Rise = RN(1) / 2; Txt.onEnterFrame = function () { this._y -= 0.25 + this.Rise; --this.Life; if (this.Life < 10) { this._alpha -= 5; } if (this.Life < 0) { this.removeMovieClip(); } }; } movieClip 2639 { } movieClip 2641 { } movieClip 2643 { } movieClip 2646 { frame 1 { stop(); } } // unknown tag 88 length 68 movieClip 2652 { frame 1 { if (this.Speed == undefined) { stop(); } } } movieClip 2654 { } movieClip 2655 { } movieClip 2656 { } instance of movieClip 2616 Z_RedLightning2 { onClipEvent (load) { stop(); } } movieClip 2658 { frame 1 { if (this.Frozen != true) { gotoAndPlay(Math.ceil(Math.random() * 70)); } } } // unknown tag 88 length 74 movieClip 2662 { } // unknown tag 88 length 68 // unknown tag 88 length 68 movieClip 2683 { frame 1 { this.gotoAndStop(Math.ceil(Math.random() * 5)); } } movieClip 2684 { } instance of movieClip 2513 Emitter { } instance Spider of movieClip 2465 SpiderUnit { onClipEvent (load) { trace(this); } } instance EvilMark of movieClip 1029 { onClipEvent (enterFrame) { this._alpha = this._parent.Deaths; if (this._alpha > 100) { this._alpha = 100; this._rotation += 2; } } } movieClip 2695 { } movieClip 2696 { } movieClip 2706 { } movieClip 2717 { frame 1 { stop(); BTN1.onPress = function () { this._parent.gotoAndStop(2); }; } frame 2 { NoBTN.onPress = function () { this._parent.gotoAndStop(1); }; YesBTN.onPress = function () { this._parent._parent.ResetGameData(); this._parent.gotoAndStop(3); }; } } movieClip 2724 { } movieClip 2745 { frame 1 { this.gotoAndStop(Math.ceil(Math.random() * 20)); } } movieClip 2774 { frame 1 { this.gotoAndStop(Math.ceil(Math.random() * 26)); } } // unknown tag 88 length 68 movieClip 2832 { frame 1 { stop(); } } movieClip 2835 { } movieClip 2837 { frame 1 { BTN.onPress = function () { this._parent._parent.link3(); }; } } frame 3 { RedEdge._alpha = 0; } frame 3 { function ViewSkills() { _global.MenuOpen = true; SpiderTime = 10; _global.SkillsOpen = true; _global.GamePause = true; var v3 = this.attachMovie('Sheet', 'SheetPage', 999999999); v3._x = 500; v3._y = 325; } _global.SkillsOpen = false; ViewSKILLS.onPress = function () { if (_global.GamePause != true) { ViewSkills(); } }; VisitSTORE.onPress = function () { if (_global.GamePause != true) { _global.MenuOpen = true; SpiderTime = 10; _global.GamePause = true; var v3 = this._parent.attachMovie('Store', 'StorePage', 999999998); v3._x = 500; v3._y = 325; } }; ViewINVENTORY.onPress = function () { if (_global.GamePause != true && this._parent.SpiderMode == 1) { _global.MenuOpen = true; SpiderTime = 10; _global.GamePause = true; var v3 = this._parent.attachMovie('Inventory', 'InventoryPage', 999999997); v3._x = 500; v3._y = 325; } }; ENDGAME = false; SuicideBTN.onRelease = function () { if (_global.GamePause != true) { HHP -= 100000000000.0; DeathTime = 200; ENDGAME = true; } }; GameOptionsBTN.onRelease = function () { if (_global.GamePause != true) { _global.MenuOpen = true; SpiderTime = 10; _global.GamePause = true; var v3 = this._parent.attachMovie('OptionsMenu', 'OptionsPage', 999999998); v3._x = 500; v3._y = 325; } }; } frame 3 { S.swapDepths(2140000); Index2 = 0; SpiderSkill = new Array(); S_MHP = new Object(); S_MHP.SkillName = 'Max Health Points'; S_MHP.Type = 'Defense'; S_MHP.Index2 = Index2; S_MHP.BaseValue = _global.SpiderBaseHP + 100; S_MHP.AmountPerLevel = 20; SpiderSkill[Index2] = 'MHP'; ++Index2; S_MHP.Unlock = false; S_MHP.Cost = 100; S_MHP.SkillLevel = 0; S_MHP.LevelTime = 1; S_MHP.LevelStart = 2; S_MHP.Descrip = 'Max Health Points - HP keeps you alive.'; S_HPRegenPcnt = new Object(); S_HPRegenPcnt.SkillName = 'HP Regen (%)'; S_HPRegenPcnt.Type = 'Defense'; S_HPRegenPcnt.Index2 = Index2; S_HPRegenPcnt.BaseValue = 0; S_HPRegenPcnt.AmountPerLevel = 0.05; SpiderSkill[Index2] = 'HPRegenPcnt'; ++Index2; S_HPRegenPcnt.Unlock = false; S_HPRegenPcnt.Cost = 100; S_HPRegenPcnt.SkillLevel = 5; S_HPRegenPcnt.LevelTime = 1; S_HPRegenPcnt.LevelStart = 20; S_HPRegenPcnt.Descrip = '?'; S_MaxEnergyShield = new Object(); S_MaxEnergyShield.SkillName = 'Max Energy Shield'; S_MaxEnergyShield.Type = 'Defense'; S_MaxEnergyShield.Index2 = Index2; S_MaxEnergyShield.BaseValue = 10; S_MaxEnergyShield.AmountPerLevel = 2; SpiderSkill[Index2] = 'MaxEnergyShield'; ++Index2; S_MaxEnergyShield.Unlock = false; S_MaxEnergyShield.Cost = 100; S_MaxEnergyShield.SkillLevel = 0; S_MaxEnergyShield.LevelTime = 1; S_MaxEnergyShield.LevelStart = 4; S_MaxEnergyShield.Descrip = '?'; S_ShieldRegenFlat = new Object(); S_ShieldRegenFlat.SkillName = 'E-Shield Regen (flat)'; S_ShieldRegenFlat.Type = 'Defense'; S_ShieldRegenFlat.Index2 = Index2; S_ShieldRegenFlat.BaseValue = 1; S_ShieldRegenFlat.AmountPerLevel = 2; SpiderSkill[Index2] = 'ShieldRegenFlat'; ++Index2; S_ShieldRegenFlat.Unlock = false; S_ShieldRegenFlat.Cost = 100; S_ShieldRegenFlat.SkillLevel = 0; S_ShieldRegenFlat.LevelTime = 1; S_ShieldRegenFlat.LevelStart = 5; S_ShieldRegenFlat.Descrip = '?'; S_ArmorValue = new Object(); S_ArmorValue.SkillName = 'Armor Value'; S_ArmorValue.Type = 'Defense'; S_ArmorValue.Index2 = Index2; S_ArmorValue.BaseValue = 50; S_ArmorValue.AmountPerLevel = 50; SpiderSkill[Index2] = 'ArmorValue'; ++Index2; S_ArmorValue.Unlock = false; S_ArmorValue.Cost = 100; S_ArmorValue.SkillLevel = 0; S_ArmorValue.LevelTime = 1; S_ArmorValue.LevelStart = 3; S_ArmorValue.Descrip = '?'; S_ArmorValueBonusPcnt = new Object(); S_ArmorValueBonusPcnt.SkillName = 'Armor Value Bonus (%)'; S_ArmorValueBonusPcnt.Type = 'Defense'; S_ArmorValueBonusPcnt.Index2 = Index2; S_ArmorValueBonusPcnt.BaseValue = 0; S_ArmorValueBonusPcnt.AmountPerLevel = 5; SpiderSkill[Index2] = 'ArmorValueBonusPcnt'; ++Index2; S_ArmorValueBonusPcnt.Unlock = false; S_ArmorValueBonusPcnt.Cost = 100; S_ArmorValueBonusPcnt.SkillLevel = 0; S_ArmorValueBonusPcnt.LevelTime = 1; S_ArmorValueBonusPcnt.LevelStart = 21; S_ArmorValueBonusPcnt.Descrip = '?'; S_BlockChance = new Object(); S_BlockChance.SkillName = 'Block Chance'; S_BlockChance.Type = 'Defense'; S_BlockChance.Index2 = Index2; S_BlockChance.BaseValue = 10; S_BlockChance.AmountPerLevel = 0.5; SpiderSkill[Index2] = 'BlockChance'; ++Index2; S_BlockChance.Unlock = false; S_BlockChance.Cost = 100; S_BlockChance.SkillLevel = 0; S_BlockChance.LevelTime = 5; S_BlockChance.LevelStart = 6; S_BlockChance.Descrip = '?'; S_BlockAmountPcnt = new Object(); S_BlockAmountPcnt.SkillName = 'Block Amount (%)'; S_BlockAmountPcnt.Type = 'Defense'; S_BlockAmountPcnt.Index2 = Index2; S_BlockAmountPcnt.BaseValue = 33; S_BlockAmountPcnt.AmountPerLevel = 0.5; SpiderSkill[Index2] = 'BlockAmountPcnt'; ++Index2; S_BlockAmountPcnt.Unlock = false; S_BlockAmountPcnt.Cost = 100; S_BlockAmountPcnt.SkillLevel = 0; S_BlockAmountPcnt.LevelTime = 5; S_BlockAmountPcnt.LevelStart = 35; S_BlockAmountPcnt.Descrip = '?'; S_BlockAmountFlat = new Object(); S_BlockAmountFlat.SkillName = 'Block Amount (flat)'; S_BlockAmountFlat.Type = 'Defense'; S_BlockAmountFlat.Index2 = Index2; S_BlockAmountFlat.BaseValue = 5; S_BlockAmountFlat.AmountPerLevel = 4; SpiderSkill[Index2] = 'BlockAmountFlat'; ++Index2; S_BlockAmountFlat.Unlock = false; S_BlockAmountFlat.Cost = 100; S_BlockAmountFlat.SkillLevel = 0; S_BlockAmountFlat.LevelTime = 2; S_BlockAmountFlat.LevelStart = 22; S_BlockAmountFlat.Descrip = '?'; S_EvadeChance = new Object(); S_EvadeChance.SkillName = 'Evade Chance'; S_EvadeChance.Type = 'Defense'; S_EvadeChance.Index2 = Index2; S_EvadeChance.BaseValue = 0; S_EvadeChance.AmountPerLevel = 0.5; SpiderSkill[Index2] = 'EvadeChance'; ++Index2; S_EvadeChance.Unlock = false; S_EvadeChance.Cost = 100; S_EvadeChance.Max = 100; S_EvadeChance.SkillLevel = 0; S_EvadeChance.LevelTime = 3; S_EvadeChance.LevelStart = 7; S_EvadeChance.Descrip = '?'; S_PhysicalDamageReductionPcnt = new Object(); S_PhysicalDamageReductionPcnt.SkillName = 'Physical Damage Reduction (%)'; S_PhysicalDamageReductionPcnt.Type = 'Defense'; S_PhysicalDamageReductionPcnt.Index2 = Index2; S_PhysicalDamageReductionPcnt.BaseValue = 10; S_PhysicalDamageReductionPcnt.AmountPerLevel = 1; SpiderSkill[Index2] = 'PhysicalDamageReductionPcnt'; ++Index2; S_PhysicalDamageReductionPcnt.Unlock = false; S_PhysicalDamageReductionPcnt.Cost = 100; S_PhysicalDamageReductionPcnt.Max = 100; S_PhysicalDamageReductionPcnt.SkillLevel = 0; S_PhysicalDamageReductionPcnt.LevelTime = 5; S_PhysicalDamageReductionPcnt.LevelStart = 50; S_PhysicalDamageReductionPcnt.Descrip = '?'; S_PhysicalDamageReductionFlat = new Object(); S_PhysicalDamageReductionFlat.SkillName = 'Physical Damage Reduction (flat)'; S_PhysicalDamageReductionFlat.Type = 'Defense'; S_PhysicalDamageReductionFlat.Index2 = Index2; S_PhysicalDamageReductionFlat.BaseValue = 0; S_PhysicalDamageReductionFlat.AmountPerLevel = 1; SpiderSkill[Index2] = 'PhysicalDamageReductionFlat'; ++Index2; S_PhysicalDamageReductionFlat.Unlock = false; S_PhysicalDamageReductionFlat.Cost = 100; S_PhysicalDamageReductionFlat.SkillLevel = 0; S_PhysicalDamageReductionFlat.LevelTime = 1; S_PhysicalDamageReductionFlat.LevelStart = 36; S_PhysicalDamageReductionFlat.Descrip = '?'; S_MagicDamageReductionFlat = new Object(); S_MagicDamageReductionFlat.SkillName = 'Magic Damage Reduction (flat)'; S_MagicDamageReductionFlat.Type = 'Defense'; S_MagicDamageReductionFlat.Index2 = Index2; S_MagicDamageReductionFlat.BaseValue = 0; S_MagicDamageReductionFlat.AmountPerLevel = 2; SpiderSkill[Index2] = 'MagicDamageReductionFlat'; ++Index2; S_MagicDamageReductionFlat.Unlock = false; S_MagicDamageReductionFlat.Cost = 100; S_MagicDamageReductionFlat.SkillLevel = 0; S_MagicDamageReductionFlat.LevelTime = 1; S_MagicDamageReductionFlat.LevelStart = 23; S_MagicDamageReductionFlat.Descrip = '?'; S_MagicDamageReductionPcnt = new Object(); S_MagicDamageReductionPcnt.SkillName = 'Magic Damage Reduction (%)'; S_MagicDamageReductionPcnt.Type = 'Defense'; S_MagicDamageReductionPcnt.Index2 = Index2; S_MagicDamageReductionPcnt.BaseValue = 0; S_MagicDamageReductionPcnt.AmountPerLevel = 0.5; SpiderSkill[Index2] = 'MagicDamageReductionPcnt'; ++Index2; S_MagicDamageReductionPcnt.Unlock = false; S_MagicDamageReductionPcnt.Cost = 100; S_MagicDamageReductionPcnt.Max = 95; S_MagicDamageReductionPcnt.SkillLevel = 0; S_MagicDamageReductionPcnt.LevelTime = 2; S_MagicDamageReductionPcnt.LevelStart = 37; S_MagicDamageReductionPcnt.Descrip = '?'; S_PhysicalReflectFlat = new Object(); S_PhysicalReflectFlat.SkillName = 'Physical Reflect (flat)'; S_PhysicalReflectFlat.Type = 'Defense'; S_PhysicalReflectFlat.Index2 = Index2; S_PhysicalReflectFlat.BaseValue = 0; S_PhysicalReflectFlat.AmountPerLevel = 0; SpiderSkill[Index2] = 'PhysicalReflectFlat'; ++Index2; S_PhysicalReflectFlat.Unlock = false; S_PhysicalReflectFlat.Cost = 100; S_PhysicalReflectFlat.SkillLevel = 0; S_PhysicalReflectFlat.LevelTime = 2; S_PhysicalReflectFlat.LevelStart = 1000; S_PhysicalReflectFlat.Descrip = '?'; S_MagicReflectPcnt = new Object(); S_MagicReflectPcnt.SkillName = 'Magic Reflect (%)'; S_MagicReflectPcnt.Type = 'Defense'; S_MagicReflectPcnt.Index2 = Index2; S_MagicReflectPcnt.BaseValue = 0; S_MagicReflectPcnt.AmountPerLevel = 0; SpiderSkill[Index2] = 'MagicReflectPcnt'; ++Index2; S_MagicReflectPcnt.Unlock = false; S_MagicReflectPcnt.Cost = 100; S_MagicReflectPcnt.SkillLevel = 0; S_MagicReflectPcnt.LevelTime = 100; S_MagicReflectPcnt.LevelStart = 1000; S_MagicReflectPcnt.Descrip = '?'; S_CritChanceResist = new Object(); S_CritChanceResist.SkillName = 'Crit Chance Resist'; S_CritChanceResist.Type = 'Defense'; S_CritChanceResist.Index2 = Index2; S_CritChanceResist.BaseValue = 0; S_CritChanceResist.AmountPerLevel = 1; SpiderSkill[Index2] = 'CritChanceResist'; ++Index2; S_CritChanceResist.Unlock = false; S_CritChanceResist.Cost = 100; S_CritChanceResist.SkillLevel = 0; S_CritChanceResist.LevelTime = 4; S_CritChanceResist.LevelStart = 8; S_CritChanceResist.Descrip = '?'; S_CritDamageResist = new Object(); S_CritDamageResist.SkillName = 'Crit Damage Resist'; S_CritDamageResist.Type = 'Defense'; S_CritDamageResist.Index2 = Index2; S_CritDamageResist.BaseValue = 0; S_CritDamageResist.AmountPerLevel = 0.5; SpiderSkill[Index2] = 'CritDamageResist'; ++Index2; S_CritDamageResist.Unlock = false; S_CritDamageResist.Cost = 100; S_CritDamageResist.Max = 100; S_CritDamageResist.SkillLevel = 0; S_CritDamageResist.LevelTime = 2; S_CritDamageResist.LevelStart = 9; S_CritDamageResist.Descrip = '?'; S_StunFreezeResistChance = new Object(); S_StunFreezeResistChance.SkillName = 'Stun/Freeze Resist Chance'; S_StunFreezeResistChance.Type = 'Defense'; S_StunFreezeResistChance.Index2 = Index2; S_StunFreezeResistChance.BaseValue = 0; S_StunFreezeResistChance.AmountPerLevel = 0.5; SpiderSkill[Index2] = 'StunFreezeResistChance'; ++Index2; S_StunFreezeResistChance.Unlock = false; S_StunFreezeResistChance.Cost = 100; S_StunFreezeResistChance.Max = 99; S_StunFreezeResistChance.SkillLevel = 0; S_StunFreezeResistChance.LevelTime = 10; S_StunFreezeResistChance.LevelStart = 24; S_StunFreezeResistChance.Descrip = '?'; S_PoisonBleedResistChance = new Object(); S_PoisonBleedResistChance.SkillName = 'Poison/Bleed Resist Chance'; S_PoisonBleedResistChance.Type = 'Defense'; S_PoisonBleedResistChance.Index2 = Index2; S_PoisonBleedResistChance.BaseValue = 5; S_PoisonBleedResistChance.AmountPerLevel = 1; SpiderSkill[Index2] = 'PoisonBleedResistChance'; ++Index2; S_PoisonBleedResistChance.Unlock = false; S_PoisonBleedResistChance.Cost = 100; S_PoisonBleedResistChance.Max = 99; S_PoisonBleedResistChance.SkillLevel = 0; S_PoisonBleedResistChance.LevelTime = 8; S_PoisonBleedResistChance.LevelStart = 38; S_PoisonBleedResistChance.Descrip = '?'; S_BurnShockResistChance = new Object(); S_BurnShockResistChance.SkillName = 'Burn/Shock Resist Chance'; S_BurnShockResistChance.Type = 'Defense'; S_BurnShockResistChance.Index2 = Index2; S_BurnShockResistChance.BaseValue = 0; S_BurnShockResistChance.AmountPerLevel = 1; SpiderSkill[Index2] = 'BurnShockResistChance'; ++Index2; S_BurnShockResistChance.Unlock = false; S_BurnShockResistChance.Cost = 100; S_BurnShockResistChance.Max = 99; S_BurnShockResistChance.SkillLevel = 0; S_BurnShockResistChance.LevelTime = 9; S_BurnShockResistChance.LevelStart = 39; S_BurnShockResistChance.Descrip = '?'; S_VoidResistChance = new Object(); S_VoidResistChance.SkillName = 'Void Resist Chance'; S_VoidResistChance.Type = 'Defense'; S_VoidResistChance.Index = Index; S_VoidResistChance.BaseValue = 5; S_VoidResistChance.AmountPerLevel = 1; SpiderSkill[Index] = 'VoidResistChance'; ++Index; S_VoidResistChance.Unlock = false; S_VoidResistChance.Cost = 100; S_VoidResistChance.SkillLevel = 0; S_VoidResistChance.LevelTime = 5; S_VoidResistChance.LevelStart = 200; S_VoidResistChance.Info = 'A percent chance to reduce incoming Void damage by half.'; S_IgniteAcidResistChance = new Object(); S_IgniteAcidResistChance.SkillName = 'Ignite Acid Resist Chance'; S_IgniteAcidResistChance.Type = 'Defense'; S_IgniteAcidResistChance.Index = Index; S_IgniteAcidResistChance.BaseValue = 5; S_IgniteAcidResistChance.AmountPerLevel = 1; SpiderSkill[Index] = 'IgniteAcidResistChance'; ++Index; S_IgniteAcidResistChance.Unlock = false; S_IgniteAcidResistChance.Cost = 100; S_IgniteAcidResistChance.Max = 99; S_IgniteAcidResistChance.SkillLevel = 0; S_IgniteAcidResistChance.LevelTime = 5; S_IgniteAcidResistChance.LevelStart = 100; S_IgniteAcidResistChance.Info = 'A percent chance to reduce incoming Ignite Acid damage by 80%.'; S_StatusRecoveryBonus = new Object(); S_StatusRecoveryBonus.SkillName = 'Status Recovery Bonus'; S_StatusRecoveryBonus.Type = 'Defense'; S_StatusRecoveryBonus.Index = Index; S_StatusRecoveryBonus.BaseValue = 0; S_StatusRecoveryBonus.AmountPerLevel = 1; SpiderSkill[Index] = 'StatusRecoveryBonus'; ++Index; S_StatusRecoveryBonus.Unlock = false; S_StatusRecoveryBonus.Cost = 100; S_StatusRecoveryBonus.SkillLevel = 0; S_StatusRecoveryBonus.LevelTime = 1; S_StatusRecoveryBonus.LevelStart = 50; S_PhysicalAttackDamage = new Object(); S_PhysicalAttackDamage.SkillName = 'Physical Attack Damage'; S_PhysicalAttackDamage.Type = 'Attack'; S_PhysicalAttackDamage.Index2 = Index2; S_PhysicalAttackDamage.BaseValue = 5; S_PhysicalAttackDamage.AmountPerLevel = 1 * (100 + _global.SpiderDamageBonus) / 100; SpiderSkill[Index2] = 'PhysicalAttackDamage'; ++Index2; S_PhysicalAttackDamage.Unlock = false; S_PhysicalAttackDamage.Cost = 100; S_PhysicalAttackDamage.SkillLevel = 0; S_PhysicalAttackDamage.LevelTime = 4; S_PhysicalAttackDamage.LevelStart = 10; S_PhysicalAttackDamage.Descrip = '?'; S_AttackSpeed = new Object(); S_AttackSpeed.SkillName = 'Attack Speed'; S_AttackSpeed.Type = 'Attack'; S_AttackSpeed.Index2 = Index2; S_AttackSpeed.BaseValue = 35; S_AttackSpeed.AmountPerLevel = 1; SpiderSkill[Index2] = 'AttackSpeed'; ++Index2; S_AttackSpeed.Unlock = false; S_AttackSpeed.Cost = 100; S_AttackSpeed.SkillLevel = 0; S_AttackSpeed.LevelTime = 5; S_AttackSpeed.LevelStart = 11; S_AttackSpeed.Descrip = '?'; S_Crit2xChance = new Object(); S_Crit2xChance.SkillName = '2x Crit Chance'; S_Crit2xChance.Type = 'Attack'; S_Crit2xChance.Index2 = Index2; S_Crit2xChance.BaseValue = 5; S_Crit2xChance.AmountPerLevel = 1; SpiderSkill[Index2] = 'Crit2xChance'; ++Index2; S_Crit2xChance.Unlock = false; S_Crit2xChance.Cost = 100; S_Crit2xChance.SkillLevel = 0; S_Crit2xChance.LevelTime = 6; S_Crit2xChance.LevelStart = 12; S_Crit2xChance.Descrip = '?'; S_Crit4xChance = new Object(); S_Crit4xChance.SkillName = '4x Crit Chance'; S_Crit4xChance.Type = 'Attack'; S_Crit4xChance.Index2 = Index2; S_Crit4xChance.BaseValue = 1; S_Crit4xChance.AmountPerLevel = 0.4; SpiderSkill[Index2] = 'Crit4xChance'; ++Index2; S_Crit4xChance.Unlock = false; S_Crit4xChance.Cost = 100; S_Crit4xChance.SkillLevel = 0; S_Crit4xChance.LevelTime = 9; S_Crit4xChance.LevelStart = 25; S_Crit4xChance.Descrip = '?'; S_Crit8xChance = new Object(); S_Crit8xChance.SkillName = '8x Crit Chance'; S_Crit8xChance.Type = 'Attack'; S_Crit8xChance.Index2 = Index2; S_Crit8xChance.BaseValue = 0; S_Crit8xChance.AmountPerLevel = 0.2; SpiderSkill[Index2] = 'Crit8xChance'; ++Index2; S_Crit8xChance.Unlock = false; S_Crit8xChance.Cost = 100; S_Crit8xChance.SkillLevel = 0; S_Crit8xChance.LevelTime = 10; S_Crit8xChance.LevelStart = 40; S_Crit8xChance.Descrip = '?'; S_Crit16xChance = new Object(); S_Crit16xChance.SkillName = '16x Crit Chance'; S_Crit16xChance.Type = 'Attack'; S_Crit16xChance.Index2 = Index2; S_Crit16xChance.BaseValue = 0; S_Crit16xChance.AmountPerLevel = 0.1; SpiderSkill[Index2] = 'Crit16xChance'; ++Index2; S_Crit16xChance.Unlock = false; S_Crit16xChance.Cost = 100; S_Crit16xChance.SkillLevel = 0; S_Crit16xChance.LevelTime = 12; S_Crit16xChance.LevelStart = 175; S_Crit16xChance.Descrip = '?'; S_BleedChance = new Object(); S_BleedChance.SkillName = 'Bleed Chance'; S_BleedChance.Type = 'Attack'; S_BleedChance.Index2 = Index2; S_BleedChance.BaseValue = 5; S_BleedChance.AmountPerLevel = 1; SpiderSkill[Index2] = 'BleedChance'; ++Index2; S_BleedChance.Unlock = false; S_BleedChance.Cost = 100; S_BleedChance.Max = 100; S_BleedChance.SkillLevel = 0; S_BleedChance.LevelTime = 7; S_BleedChance.LevelStart = 13; S_BleedChance.Descrip = '?'; S_BleedDuration = new Object(); S_BleedDuration.SkillName = 'Bleed Duration'; S_BleedDuration.Type = 'Attack'; S_BleedDuration.Index2 = Index2; S_BleedDuration.BaseValue = 50; S_BleedDuration.AmountPerLevel = 5; SpiderSkill[Index2] = 'BleedDuration'; ++Index2; S_BleedDuration.Unlock = false; S_BleedDuration.Cost = 100; S_BleedDuration.SkillLevel = 0; S_BleedDuration.LevelTime = 10; S_BleedDuration.LevelStart = 26; S_BleedDuration.Descrip = '?'; S_BleedDamagePcnt = new Object(); S_BleedDamagePcnt.SkillName = 'Bleed Damage (MHP%)'; S_BleedDamagePcnt.Type = 'Attack'; S_BleedDamagePcnt.Index2 = Index2; S_BleedDamagePcnt.BaseValue = 4; S_BleedDamagePcnt.AmountPerLevel = 0.1; SpiderSkill[Index2] = 'BleedDamagePcnt'; ++Index2; S_BleedDamagePcnt.Unlock = false; S_BleedDamagePcnt.Cost = 100; S_BleedDamagePcnt.SkillLevel = 0; S_BleedDamagePcnt.LevelTime = 10; S_BleedDamagePcnt.LevelStart = 41; S_BleedDamagePcnt.Descrip = '?'; S_StunChance = new Object(); S_StunChance.SkillName = 'Stun Chance'; S_StunChance.Type = 'Attack'; S_StunChance.Index2 = Index2; S_StunChance.BaseValue = 0; S_StunChance.AmountPerLevel = 0.5; SpiderSkill[Index2] = 'StunChance'; ++Index2; S_StunChance.Unlock = false; S_StunChance.Cost = 100; S_StunChance.Max = 10; S_StunChance.SkillLevel = 0; S_StunChance.LevelTime = 10; S_StunChance.LevelStart = 42; S_StunChance.Descrip = '?'; S_StunDuration = new Object(); S_StunDuration.SkillName = 'Stun Duration'; S_StunDuration.Type = 'Attack'; S_StunDuration.Index2 = Index2; S_StunDuration.BaseValue = 50; S_StunDuration.AmountPerLevel = 1; SpiderSkill[Index2] = 'StunDuration'; ++Index2; S_StunDuration.Unlock = false; S_StunDuration.Cost = 100; S_StunDuration.SkillLevel = 0; S_StunDuration.LevelTime = 10; S_StunDuration.LevelStart = 53; S_StunDuration.Descrip = '?'; S_CounterAttack = new Object(); S_CounterAttack.SkillName = 'Counter Attack '; S_CounterAttack.Type = 'Attack'; S_CounterAttack.Index2 = Index2; S_CounterAttack.BaseValue = 0; S_CounterAttack.AmountPerLevel = 0; SpiderSkill[Index2] = 'CounterAttack'; ++Index2; S_CounterAttack.Unlock = false; S_CounterAttack.Cost = 100; S_CounterAttack.SkillLevel = 0; S_CounterAttack.LevelTime = 500; S_CounterAttack.LevelStart = 400000; S_CounterAttack.Descrip = '?'; S_Flurry3xChance = new Object(); S_Flurry3xChance.SkillName = '3x Flurry Chance'; S_Flurry3xChance.Type = 'Attack'; S_Flurry3xChance.Index2 = Index2; S_Flurry3xChance.BaseValue = 15; S_Flurry3xChance.AmountPerLevel = 0.5; SpiderSkill[Index2] = 'Flurry3xChance'; ++Index2; S_Flurry3xChance.Unlock = false; S_Flurry3xChance.Cost = 100; S_Flurry3xChance.Max = 500; S_Flurry3xChance.SkillLevel = 0; S_Flurry3xChance.LevelTime = 5; S_Flurry3xChance.LevelStart = 27; S_Flurry3xChance.Descrip = '?'; S_Flurry9xChance = new Object(); S_Flurry9xChance.SkillName = '9x Flurry Chance'; S_Flurry9xChance.Type = 'Attack'; S_Flurry9xChance.Index2 = Index2; S_Flurry9xChance.BaseValue = 5; S_Flurry9xChance.AmountPerLevel = 0.2; SpiderSkill[Index2] = 'Flurry9xChance'; ++Index2; S_Flurry9xChance.Unlock = false; S_Flurry9xChance.Cost = 100; S_Flurry3xChance.Max = 500; S_Flurry9xChance.SkillLevel = 0; S_Flurry9xChance.LevelTime = 8; S_Flurry9xChance.LevelStart = 54; S_Flurry9xChance.Descrip = '?'; S_CancelBlockChance = new Object(); S_CancelBlockChance.SkillName = 'Cancel Block Chance'; S_CancelBlockChance.Type = 'Attack'; S_CancelBlockChance.Index2 = Index2; S_CancelBlockChance.BaseValue = 5; S_CancelBlockChance.AmountPerLevel = 1; SpiderSkill[Index2] = 'CancelBlockChance'; ++Index2; S_CancelBlockChance.Unlock = false; S_CancelBlockChance.Cost = 100; S_CancelBlockChance.Max = 50; S_CancelBlockChance.SkillLevel = 0; S_CancelBlockChance.LevelTime = 11; S_CancelBlockChance.LevelStart = 43; S_CancelBlockChance.Descrip = '?'; S_PhysicalArmorPenetration = new Object(); S_PhysicalArmorPenetration.SkillName = 'Physical Armor Penetration'; S_PhysicalArmorPenetration.Type = 'Attack'; S_PhysicalArmorPenetration.Index2 = Index2; S_PhysicalArmorPenetration.BaseValue = 0; S_PhysicalArmorPenetration.AmountPerLevel = 1; SpiderSkill[Index2] = 'PhysicalArmorPenetration'; ++Index2; S_PhysicalArmorPenetration.Unlock = false; S_PhysicalArmorPenetration.Cost = 100; S_PhysicalArmorPenetration.Max = 50; S_PhysicalArmorPenetration.SkillLevel = 0; S_PhysicalArmorPenetration.LevelTime = 4; S_PhysicalArmorPenetration.LevelStart = 28; S_PhysicalArmorPenetration.Descrip = '?'; S_EnergyShieldDamageFlat = new Object(); S_EnergyShieldDamageFlat.SkillName = 'E-Shield Damage (flat)'; S_EnergyShieldDamageFlat.Type = 'Attack'; S_EnergyShieldDamageFlat.Index2 = Index2; S_EnergyShieldDamageFlat.BaseValue = 0; S_EnergyShieldDamageFlat.AmountPerLevel = 2; SpiderSkill[Index2] = 'EnergyShieldDamageFlat'; ++Index2; S_EnergyShieldDamageFlat.Unlock = false; S_EnergyShieldDamageFlat.Cost = 100; S_EnergyShieldDamageFlat.SkillLevel = 0; S_EnergyShieldDamageFlat.LevelTime = 5; S_EnergyShieldDamageFlat.LevelStart = 100; S_EnergyShieldDamageFlat.Descrip = '?'; S_RageChance = new Object(); S_RageChance.SkillName = 'Rage Chance'; S_RageChance.Type = 'Attack'; S_RageChance.Index2 = Index2; S_RageChance.BaseValue = 25; S_RageChance.AmountPerLevel = 0.1; SpiderSkill[Index2] = 'RageChance'; ++Index2; S_RageChance.Unlock = false; S_RageChance.Cost = 100; S_RageChance.SkillLevel = 0; S_RageChance.LevelTime = 10; S_RageChance.LevelStart = 29; S_RageChance.Descrip = '?'; S_RageDamageBonusFlat = new Object(); S_RageDamageBonusFlat.SkillName = 'Rage Damage Bonus (flat)'; S_RageDamageBonusFlat.Type = 'Attack'; S_RageDamageBonusFlat.Index2 = Index2; S_RageDamageBonusFlat.BaseValue = 1; S_RageDamageBonusFlat.AmountPerLevel = 0.1; SpiderSkill[Index2] = 'RageDamageBonusFlat'; ++Index2; S_RageDamageBonusFlat.Unlock = false; S_RageDamageBonusFlat.Cost = 100; S_RageDamageBonusFlat.SkillLevel = 0; S_RageDamageBonusFlat.LevelTime = 11; S_RageDamageBonusFlat.LevelStart = 56; S_RageDamageBonusFlat.Descrip = '?'; S_LifeStealPcnt = new Object(); S_LifeStealPcnt.SkillName = 'Lifesteal (%)'; S_LifeStealPcnt.Type = 'Attack'; S_LifeStealPcnt.Index2 = Index2; S_LifeStealPcnt.BaseValue = 1; S_LifeStealPcnt.AmountPerLevel = 1; SpiderSkill[Index2] = 'LifeStealPcnt'; ++Index2; S_LifeStealPcnt.Unlock = false; S_LifeStealPcnt.Cost = 100; S_LifeStealPcnt.SkillLevel = 0; S_LifeStealPcnt.LevelTime = 5; S_LifeStealPcnt.LevelStart = 57; S_LifeStealPcnt.Descrip = '?'; S_HPGainOnHit = new Object(); S_HPGainOnHit.SkillName = 'HP Gain On-Hit'; S_HPGainOnHit.Type = 'Attack'; S_HPGainOnHit.Index2 = Index2; S_HPGainOnHit.BaseValue = 0; S_HPGainOnHit.AmountPerLevel = 1; SpiderSkill[Index2] = 'HPGainOnHit'; ++Index2; S_HPGainOnHit.Unlock = false; S_HPGainOnHit.Cost = 100; S_HPGainOnHit.SkillLevel = 0; S_HPGainOnHit.LevelTime = 1; S_HPGainOnHit.LevelStart = 44; S_HPGainOnHit.Descrip = '?'; S_ExecutionBelowPcnt = new Object(); S_ExecutionBelowPcnt.SkillName = 'Execution Below HP%'; S_ExecutionBelowPcnt.Type = 'Attack'; S_ExecutionBelowPcnt.Index2 = Index2; S_ExecutionBelowPcnt.BaseValue = 1; S_ExecutionBelowPcnt.AmountPerLevel = 1; SpiderSkill[Index2] = 'ExecutionBelowPcnt'; ++Index2; S_ExecutionBelowPcnt.Unlock = false; S_ExecutionBelowPcnt.Cost = 100; S_ExecutionBelowPcnt.Max = 50; S_ExecutionBelowPcnt.SkillLevel = 0; S_ExecutionBelowPcnt.LevelTime = 20; S_ExecutionBelowPcnt.LevelStart = 58; S_ExecutionBelowPcnt.Descrip = '?'; S_ExecutionDamageBonusPcnt = new Object(); S_ExecutionDamageBonusPcnt.SkillName = 'Execution Damage Bonus (%)'; S_ExecutionDamageBonusPcnt.Type = 'Attack'; S_ExecutionDamageBonusPcnt.Index2 = Index2; S_ExecutionDamageBonusPcnt.BaseValue = 50; S_ExecutionDamageBonusPcnt.AmountPerLevel = 1; SpiderSkill[Index2] = 'ExecutionDamageBonusPcnt'; ++Index2; S_ExecutionDamageBonusPcnt.Unlock = false; S_ExecutionDamageBonusPcnt.Cost = 100; S_ExecutionDamageBonusPcnt.SkillLevel = 0; S_ExecutionDamageBonusPcnt.LevelTime = 4; S_ExecutionDamageBonusPcnt.LevelStart = 59; S_ExecutionDamageBonusPcnt.Descrip = '?'; S_AttackChargeEfficiency = new Object(); S_AttackChargeEfficiency.SkillName = 'Attack Charge Efficiency (%)'; S_AttackChargeEfficiency.Type = 'Attack'; S_AttackChargeEfficiency.Index = Index; S_AttackChargeEfficiency.BaseValue = 0; S_AttackChargeEfficiency.AmountPerLevel = 0.1; SpiderSkill[Index] = 'AttackChargeEfficiency'; ++Index; S_AttackChargeEfficiency.Unlock = false; S_AttackChargeEfficiency.Cost = 100; S_AttackChargeEfficiency.Max = 50; S_AttackChargeEfficiency.SkillLevel = 0; S_AttackChargeEfficiency.LevelTime = 5; S_AttackChargeEfficiency.LevelStart = 250; S_MagicChargesOnAttack = new Object(); S_MagicChargesOnAttack.SkillName = 'Magic Charges On-Attack'; S_MagicChargesOnAttack.Type = 'Attack'; S_MagicChargesOnAttack.Index = Index; S_MagicChargesOnAttack.BaseValue = 10; S_MagicChargesOnAttack.AmountPerLevel = 1; SpiderSkill[Index] = 'MagicChargesOnAttack'; ++Index; S_MagicChargesOnAttack.Unlock = false; S_MagicChargesOnAttack.Cost = 100; S_MagicChargesOnAttack.Max = 50; S_MagicChargesOnAttack.SkillLevel = 0; S_MagicChargesOnAttack.LevelTime = 4; S_MagicChargesOnAttack.LevelStart = 200; S_EnchantedAttackChance = new Object(); S_EnchantedAttackChance.SkillName = 'Enchanted Attack Chance'; S_EnchantedAttackChance.Type = 'Attack'; S_EnchantedAttackChance.Index = Index; S_EnchantedAttackChance.BaseValue = 0; S_EnchantedAttackChance.AmountPerLevel = 1; SpiderSkill[Index] = 'EnchantedAttackChance'; ++Index; S_EnchantedAttackChance.Unlock = false; S_EnchantedAttackChance.Cost = 100; S_EnchantedAttackChance.SkillLevel = 0; S_EnchantedAttackChance.LevelTime = 5; S_EnchantedAttackChance.LevelStart = 400; S_MagicDamage = new Object(); S_MagicDamage.SkillName = 'Magic Damage'; S_MagicDamage.Type = 'Magic'; S_MagicDamage.Index2 = Index2; S_MagicDamage.BaseValue = 50; S_MagicDamage.AmountPerLevel = 5 * (100 + _global.SpiderDamageBonus) / 100; SpiderSkill[Index2] = 'MagicDamage'; ++Index2; S_MagicDamage.Unlock = false; S_MagicDamage.Cost = 100; S_MagicDamage.SkillLevel = 0; S_MagicDamage.LevelTime = 2; S_MagicDamage.LevelStart = 15; S_MagicDamage.Descrip = '?'; S_CastRate = new Object(); S_CastRate.SkillName = 'Cast Rate'; S_CastRate.Type = 'Magic'; S_CastRate.Index2 = Index2; S_CastRate.BaseValue = 0; S_CastRate.AmountPerLevel = 1; SpiderSkill[Index2] = 'CastRate'; ++Index2; S_CastRate.Unlock = false; S_CastRate.Cost = 100; S_CastRate.SkillLevel = 0; S_CastRate.LevelTime = 4; S_CastRate.LevelStart = 16; S_CastRate.Descrip = '?'; S_ManaRegenBonus = new Object(); S_ManaRegenBonus.SkillName = 'Mana Regen Bonus'; S_ManaRegenBonus.Type = 'Magic'; S_ManaRegenBonus.Index2 = Index2; S_ManaRegenBonus.BaseValue = 0; S_ManaRegenBonus.AmountPerLevel = 1; SpiderSkill[Index2] = 'ManaRegenBonus'; ++Index2; S_ManaRegenBonus.Unlock = false; S_ManaRegenBonus.Cost = 100; S_ManaRegenBonus.Max = 300; S_ManaRegenBonus.SkillLevel = 0; S_ManaRegenBonus.LevelTime = 4; S_ManaRegenBonus.LevelStart = 17; S_ManaRegenBonus.Descrip = '?'; S_Cast5xChance = new Object(); S_Cast5xChance.SkillName = '5x Cast Chance'; S_Cast5xChance.Type = 'Magic'; S_Cast5xChance.Index2 = Index2; S_Cast5xChance.BaseValue = 0; S_Cast5xChance.AmountPerLevel = 0.8; SpiderSkill[Index2] = 'Cast5xChance'; ++Index2; S_Cast5xChance.Unlock = false; S_Cast5xChance.Cost = 100; S_Cast5xChance.Max = 500; S_Cast5xChance.SkillLevel = 0; S_Cast5xChance.LevelTime = 5; S_Cast5xChance.LevelStart = 30; S_Cast5xChance.Descrip = '?'; S_Cast25xChance = new Object(); S_Cast25xChance.SkillName = '25x Cast Chance'; S_Cast25xChance.Type = 'Magic'; S_Cast25xChance.Index2 = Index2; S_Cast25xChance.BaseValue = 0; S_Cast25xChance.AmountPerLevel = 0.1; SpiderSkill[Index2] = 'Cast25xChance'; ++Index2; S_Cast25xChance.Unlock = false; S_Cast25xChance.Cost = 100; S_Cast25xChance.Max = 500; S_Cast25xChance.SkillLevel = 0; S_Cast25xChance.LevelTime = 8; S_Cast25xChance.LevelStart = 110; S_Cast25xChance.Descrip = '?'; S_CancelEvadeChance = new Object(); S_CancelEvadeChance.SkillName = 'Cancel Evade Chance'; S_CancelEvadeChance.Type = 'Magic'; S_CancelEvadeChance.Index2 = Index2; S_CancelEvadeChance.BaseValue = 10; S_CancelEvadeChance.AmountPerLevel = 1; SpiderSkill[Index2] = 'CancelEvadeChance'; ++Index2; S_CancelEvadeChance.Unlock = false; S_CancelEvadeChance.Cost = 100; S_CancelEvadeChance.Max = 75; S_CancelEvadeChance.SkillLevel = 0; S_CancelEvadeChance.LevelTime = 20; S_CancelEvadeChance.LevelStart = 45; S_CancelEvadeChance.Descrip = '?'; S_EnergyShieldDamagePcnt = new Object(); S_EnergyShieldDamagePcnt.SkillName = 'Energy Shield Damage (%)'; S_EnergyShieldDamagePcnt.Type = 'Magic'; S_EnergyShieldDamagePcnt.Index2 = Index2; S_EnergyShieldDamagePcnt.BaseValue = 0; S_EnergyShieldDamagePcnt.AmountPerLevel = 0.01; SpiderSkill[Index2] = 'EnergyShieldDamagePcnt'; ++Index2; S_EnergyShieldDamagePcnt.Unlock = false; S_EnergyShieldDamagePcnt.Cost = 100; S_EnergyShieldDamagePcnt.Max = 1; S_EnergyShieldDamagePcnt.SkillLevel = 0; S_EnergyShieldDamagePcnt.LevelTime = 10; S_EnergyShieldDamagePcnt.LevelStart = 155; S_EnergyShieldDamagePcnt.Descrip = '?'; S_IgniteChance = new Object(); S_IgniteChance.SkillName = 'Ignite Chance'; S_IgniteChance.Type = 'Magic'; S_IgniteChance.Index2 = Index2; S_IgniteChance.BaseValue = 2; S_IgniteChance.AmountPerLevel = 0.5; SpiderSkill[Index2] = 'IgniteChance'; ++Index2; S_IgniteChance.Unlock = false; S_IgniteChance.Cost = 100; S_IgniteChance.Max = 10; S_IgniteChance.SkillLevel = 0; S_IgniteChance.LevelTime = 5; S_IgniteChance.LevelStart = 31; S_IgniteChance.Descrip = '?'; S_IgniteDamage = new Object(); S_IgniteDamage.SkillName = 'Ignite Damage'; S_IgniteDamage.Type = 'Magic'; S_IgniteDamage.Index2 = Index2; S_IgniteDamage.BaseValue = 0; S_IgniteDamage.AmountPerLevel = 5; SpiderSkill[Index2] = 'IgniteDamage'; ++Index2; S_IgniteDamage.Unlock = false; S_IgniteDamage.Cost = 100; S_IgniteDamage.SkillLevel = 0; S_IgniteDamage.LevelTime = 2; S_IgniteDamage.LevelStart = 32; S_IgniteDamage.Descrip = '?'; S_FreezeChance = new Object(); S_FreezeChance.SkillName = 'Freeze Chance'; S_FreezeChance.Type = 'Magic'; S_FreezeChance.Index2 = Index2; S_FreezeChance.BaseValue = 0; S_FreezeChance.AmountPerLevel = 0.8; SpiderSkill[Index2] = 'FreezeChance'; ++Index2; S_FreezeChance.Unlock = false; S_FreezeChance.Cost = 100; S_FreezeChance.Max = 10; S_FreezeChance.SkillLevel = 0; S_FreezeChance.LevelTime = 5; S_FreezeChance.LevelStart = 61; S_FreezeChance.Descrip = '?'; S_FreezeDuration = new Object(); S_FreezeDuration.SkillName = 'Freeze Duration'; S_FreezeDuration.Type = 'Magic'; S_FreezeDuration.Index2 = Index2; S_FreezeDuration.BaseValue = 50; S_FreezeDuration.AmountPerLevel = 0.5; SpiderSkill[Index2] = 'FreezeDuration'; ++Index2; S_FreezeDuration.Unlock = false; S_FreezeDuration.Cost = 100; S_FreezeDuration.SkillLevel = 0; S_FreezeDuration.LevelTime = 2; S_FreezeDuration.LevelStart = 62; S_FreezeDuration.Descrip = '?'; S_ShockChance = new Object(); S_ShockChance.SkillName = 'Shock Chance'; S_ShockChance.Type = 'Magic'; S_ShockChance.Index2 = Index2; S_ShockChance.BaseValue = 2; S_ShockChance.AmountPerLevel = 1; SpiderSkill[Index2] = 'ShockChance'; ++Index2; S_ShockChance.Unlock = false; S_ShockChance.Cost = 100; S_ShockChance.Max = 10; S_ShockChance.SkillLevel = 0; S_ShockChance.LevelTime = 5; S_ShockChance.LevelStart = 33; S_ShockChance.Descrip = '?'; S_ShockDamageAmplifyPcnt = new Object(); S_ShockDamageAmplifyPcnt.SkillName = 'Shock Amplify Damage (%)'; S_ShockDamageAmplifyPcnt.Type = 'Magic'; S_ShockDamageAmplifyPcnt.Index2 = Index2; S_ShockDamageAmplifyPcnt.BaseValue = 50; S_ShockDamageAmplifyPcnt.AmountPerLevel = 1; SpiderSkill[Index2] = 'ShockDamageAmplifyPcnt'; ++Index2; S_ShockDamageAmplifyPcnt.Unlock = false; S_ShockDamageAmplifyPcnt.Cost = 100; S_ShockDamageAmplifyPcnt.SkillLevel = 0; S_ShockDamageAmplifyPcnt.LevelTime = 4; S_ShockDamageAmplifyPcnt.LevelStart = 34; S_ShockDamageAmplifyPcnt.Descrip = '?'; S_BurnChance = new Object(); S_BurnChance.SkillName = 'Burn Chance'; S_BurnChance.Type = 'Magic'; S_BurnChance.Index2 = Index2; S_BurnChance.BaseValue = 2; S_BurnChance.AmountPerLevel = 1; SpiderSkill[Index2] = 'BurnChance'; ++Index2; S_BurnChance.Unlock = false; S_BurnChance.Cost = 100; S_BurnChance.Max = 10; S_BurnChance.SkillLevel = 0; S_BurnChance.LevelTime = 5; S_BurnChance.LevelStart = 63; S_BurnChance.Descrip = '?'; S_BurnDuration = new Object(); S_BurnDuration.SkillName = 'Burn Duration'; S_BurnDuration.Type = 'Magic'; S_BurnDuration.Index2 = Index2; S_BurnDuration.BaseValue = 80; S_BurnDuration.AmountPerLevel = 2; SpiderSkill[Index2] = 'BurnDuration'; ++Index2; S_BurnDuration.Unlock = false; S_BurnDuration.Cost = 100; S_BurnDuration.SkillLevel = 0; S_BurnDuration.LevelTime = 1; S_BurnDuration.LevelStart = 64; S_BurnDuration.Descrip = '?'; S_FrostChance = new Object(); S_FrostChance.SkillName = 'Frost Chance'; S_FrostChance.Type = 'Magic'; S_FrostChance.Index2 = Index2; S_FrostChance.BaseValue = 1; S_FrostChance.AmountPerLevel = 0.5; SpiderSkill[Index2] = 'FrostChance'; ++Index2; S_FrostChance.Unlock = false; S_FrostChance.Cost = 100; S_FrostChance.Max = 10; S_FrostChance.SkillLevel = 0; S_FrostChance.LevelTime = 6; S_FrostChance.LevelStart = 18; S_FrostChance.Descrip = '?'; S_FrostAttackSpeedReduction = new Object(); S_FrostAttackSpeedReduction.SkillName = 'Frost Attack Speed Reduction (%)'; S_FrostAttackSpeedReduction.Type = 'Magic'; S_FrostAttackSpeedReduction.Index2 = Index2; S_FrostAttackSpeedReduction.BaseValue = 40; S_FrostAttackSpeedReduction.AmountPerLevel = 1; SpiderSkill[Index2] = 'FrostAttackSpeedReduction'; ++Index2; S_FrostAttackSpeedReduction.Unlock = false; S_FrostAttackSpeedReduction.Cost = 100; S_FrostAttackSpeedReduction.Max = 80; S_FrostAttackSpeedReduction.SkillLevel = 0; S_FrostAttackSpeedReduction.LevelTime = 4; S_FrostAttackSpeedReduction.LevelStart = 19; S_FrostAttackSpeedReduction.Descrip = '?'; S_PoisonChance = new Object(); S_PoisonChance.SkillName = 'Poison Chance'; S_PoisonChance.Type = 'Magic'; S_PoisonChance.Index2 = Index2; S_PoisonChance.BaseValue = 4; S_PoisonChance.AmountPerLevel = 1; SpiderSkill[Index2] = 'PoisonChance'; ++Index2; S_PoisonChance.Unlock = false; S_PoisonChance.Cost = 100; S_PoisonChance.Max = 10; S_PoisonChance.SkillLevel = 0; S_PoisonChance.LevelTime = 5; S_PoisonChance.LevelStart = 47; S_PoisonChance.Descrip = '?'; S_PoisonDuration = new Object(); S_PoisonDuration.SkillName = 'Poison Duration'; S_PoisonDuration.Type = 'Magic'; S_PoisonDuration.Index2 = Index2; S_PoisonDuration.BaseValue = 100; S_PoisonDuration.AmountPerLevel = 2; SpiderSkill[Index2] = 'PoisonDuration'; ++Index2; S_PoisonDuration.Unlock = false; S_PoisonDuration.Cost = 100; S_PoisonDuration.SkillLevel = 0; S_PoisonDuration.LevelTime = 3; S_PoisonDuration.LevelStart = 48; S_PoisonDuration.Descrip = '?'; S_PoisonDamagePcnt = new Object(); S_PoisonDamagePcnt.SkillName = 'Poison Damage (CHP%)'; S_PoisonDamagePcnt.Type = 'Magic'; S_PoisonDamagePcnt.Index2 = Index2; S_PoisonDamagePcnt.BaseValue = 2; S_PoisonDamagePcnt.AmountPerLevel = 0.2; SpiderSkill[Index2] = 'PoisonDamagePcnt'; ++Index2; S_PoisonDamagePcnt.Unlock = false; S_PoisonDamagePcnt.Cost = 100; S_PoisonDamagePcnt.Max = 20; S_PoisonDamagePcnt.SkillLevel = 0; S_PoisonDamagePcnt.LevelTime = 7; S_PoisonDamagePcnt.LevelStart = 49; S_PoisonDamagePcnt.Descrip = '?'; S_VoidChance = new Object(); S_VoidChance.SkillName = 'Void Chance'; S_VoidChance.Type = 'Magic'; S_VoidChance.Index2 = Index2; S_VoidChance.BaseValue = 1; S_VoidChance.AmountPerLevel = 1; SpiderSkill[Index2] = 'VoidChance'; ++Index2; S_VoidChance.Unlock = false; S_VoidChance.Cost = 100; S_VoidChance.SkillLevel = 0; S_VoidChance.LevelTime = 2; S_VoidChance.LevelStart = 67; S_VoidChance.Descrip = '?'; S_VoidMHPReduction = new Object(); S_VoidMHPReduction.SkillName = 'Void MHP Reduction'; S_VoidMHPReduction.Type = 'Magic'; S_VoidMHPReduction.Index2 = Index2; S_VoidMHPReduction.BaseValue = 5; S_VoidMHPReduction.AmountPerLevel = 1; SpiderSkill[Index2] = 'VoidMHPReduction'; ++Index2; S_VoidMHPReduction.Unlock = false; S_VoidMHPReduction.Cost = 100; S_VoidMHPReduction.SkillLevel = 0; S_VoidMHPReduction.LevelTime = 1; S_VoidMHPReduction.LevelStart = 68; S_VoidMHPReduction.Descrip = '?'; S_CascadeChance = new Object(); S_CascadeChance.SkillName = 'Cascade Chance'; S_CascadeChance.Type = 'Magic'; S_CascadeChance.Index2 = Index2; S_CascadeChance.BaseValue = 5; S_CascadeChance.AmountPerLevel = 0.1; SpiderSkill[Index2] = 'CascadeChance'; ++Index2; S_CascadeChance.Unlock = false; S_CascadeChance.Cost = 100; S_CascadeChance.SkillLevel = 0; S_CascadeChance.LevelTime = 2; S_CascadeChance.LevelStart = 65; S_CascadeChance.Descrip = '?'; S_CascadeDamageBonusPcnt = new Object(); S_CascadeDamageBonusPcnt.SkillName = 'Cascade Damage Bonus (%)'; S_CascadeDamageBonusPcnt.Type = 'Magic'; S_CascadeDamageBonusPcnt.Index2 = Index2; S_CascadeDamageBonusPcnt.BaseValue = 10; S_CascadeDamageBonusPcnt.AmountPerLevel = 1; SpiderSkill[Index2] = 'CascadeDamageBonusPcnt'; ++Index2; S_CascadeDamageBonusPcnt.Unlock = false; S_CascadeDamageBonusPcnt.Cost = 100; S_CascadeDamageBonusPcnt.SkillLevel = 0; S_CascadeDamageBonusPcnt.LevelTime = 10; S_CascadeDamageBonusPcnt.LevelStart = 66; S_CascadeDamageBonusPcnt.Descrip = '?'; S_AcidChance = new Object(); S_AcidChance.SkillName = 'Acid Chance'; S_AcidChance.Type = 'Magic'; S_AcidChance.Index = Index; S_AcidChance.BaseValue = 1; S_AcidChance.AmountPerLevel = 1; SpiderSkill[Index] = 'AcidChance'; ++Index; S_AcidChance.ParentSkill = ''; S_AcidChance.Unlock = false; S_AcidChance.LevelTime = 5; S_AcidChance.LevelStart = 50; S_AcidChance.Cost = 100; S_AcidChance.SkillLevel = 0; S_AcidChance.Info = 'Chance to inflict Acid each time your spell hits the enemy, causing a stacking damage over time so long as the duration is constantly refreshed.'; S_AcidDamage = new Object(); S_AcidDamage.SkillName = 'Acid Damage Bonus'; S_AcidDamage.Type = 'Magic'; S_AcidDamage.Index = Index; S_AcidDamage.BaseValue = 5; S_AcidDamage.AmountPerLevel = 1; SpiderSkill[Index] = 'AcidDamage'; ++Index; S_AcidDamage.ParentSkill = 'AcidChance'; S_AcidDamage.Unlock = false; S_AcidDamage.LevelTime = 5; S_AcidDamage.LevelStart = 100; S_AcidDamage.Cost = 100; S_AcidDamage.SkillLevel = 0; S_AcidDamage.Info = 'Bonus damage per second added each time your spell stacks Acid onto the enemy.'; S_HealChance = new Object(); S_HealChance.SkillName = 'Heal Chance'; S_HealChance.Type = 'Magic'; S_HealChance.Index = Index; S_HealChance.BaseValue = 0; S_HealChance.AmountPerLevel = 1; SpiderSkill[Index] = 'HealChance'; ++Index; S_HealChance.Unlock = false; S_HealChance.Cost = 100; S_HealChance.SkillLevel = 0; S_HealChance.LevelTime = 1; S_HealChance.LevelStart = 500; S_HealChance.Descrip = '?'; S_HealAmount = new Object(); S_HealAmount.SkillName = 'Heal Amount'; S_HealAmount.Type = 'Magic'; S_HealAmount.Index = Index; S_HealAmount.BaseValue = 0; S_HealAmount.AmountPerLevel = 10; SpiderSkill[Index] = 'HealAmount'; ++Index; S_HealAmount.Unlock = false; S_HealAmount.Cost = 100; S_HealAmount.SkillLevel = 0; S_HealAmount.LevelTime = 1; S_HealAmount.LevelStart = 525; S_HealAmount.Descrip = '?'; S_LifePower = new Object(); S_LifePower.SkillName = 'LifePower'; S_LifePower.Type = 'Holy'; S_LifePower.Index = Index; S_LifePower.BaseValue = Deaths; S_LifePower.AmountPerLevel = 2; HeroSkill[Index] = 'LifePower'; ++Index; S_LifePower.ParentSkill = ''; S_LifePower.Unlock = false; S_LifePower.Cost = 100; S_LifePower.LevelTime = 1; S_LifePower.LevelStart = 250; S_LifePower.SkillLevel = 0; S_BurnAffinity = new Object(); S_BurnAffinity.SkillName = 'Burn Affinity'; S_BurnAffinity.Type = 'Special'; S_BurnAffinity.Index = Index; S_BurnAffinity.BaseValue = 0; S_BurnAffinity.AmountPerLevel = 0.1; HeroSkill[Index] = 'BurnAffinity'; ++Index; S_BurnAffinity.ParentSkill = ''; S_BurnAffinity.Unlock = false; S_BurnAffinity.Cost = 100; S_BurnAffinity.Max = 25; S_BurnAffinity.LevelTime = 5; S_BurnAffinity.LevelStart = 100; S_BurnAffinity.SkillLevel = 0; S_BurnAffinity.Info = '% of total HP/ES Regen that bypasses the Burn Ailment.'; i = 0; while (i < SpiderSkill.length) { this['S_' + SpiderSkill[i]].AmountPerLevel *= (100 + _global.SpiderGrowth) / 100; this['S_' + SpiderSkill[i]].SkillLevel += _global.SpiderStats; ++i; } EnemyImage.onPress = function () { trace('/////////////////////////////'); i = 0; while (i < SpiderSkill.length) { trace(this._parent['S_' + SpiderSkill[i]].SkillName); trace(this._parent['S_' + SpiderSkill[i]].BaseValue + this._parent['S_' + SpiderSkill[i]].SkillLevel * this._parent['S_' + SpiderSkill[i]].AmountPerLevel); ++i; } trace('/////////////////////////////'); }; } frame 3 { function Regen() { HRageVal *= 0.999; SRageVal *= 0.999; HCascadeVal *= 0.99; SCascadeVal *= 0.99; if (HHP <= 0) { } if (HES < 0) { HES = 0; } if (HArmor < 0) { HArmor = 0; } MHPcalc = Skill('H', 'MHP') * (100 + Skill('H', 'GuardianPower') * 2 + Skill('H', 'DarkPower') * 2 + Skill('H', 'LifePower')) / 100; MHPcalc *= (100 - Skill('H', 'GlassCannon')) / 100; HMaxHP = MHPcalc - HVoidVal + HMaxHPBuff; HMaxES = Skill('H', 'MaxEnergyShield') + HMaxESBuff; RegenRatio = 1; if (HBurnVal > 0) { RegenRatio = +(Skill('H', 'BurnAffinity') / 100); } HHP += RegenRatio * (HMaxHP * Skill('H', 'HPRegenPcnt') / 2500) * (1 + Skill('H', 'RegenerationBonus') / 100); HES += RegenRatio * ((Skill('H', 'ShieldRegenFlat') / 25) * (1 + Skill('H', 'RegenerationBonus') / 100)); if (HHP > HMaxHP) { HHP = HMaxHP; } if (HES > HMaxES) { HES = HMaxES; } if (HIgniteVal > 0 && HIgniteVal % 5 == 0) { DamageTick = HIgniteVal2 / 5; DamageTick *= (100 + Skill('H', 'DarkPower') * 4) / 100; CombatText('IgniteDamage', H, Math.ceil(DamageTick)); InflictDamage('All', DamageTick, H); } if (HAcidVal > 0 && HAcidVal % 5 == 0) { DamageTick = HAcidVal2 / 5; CombatText('AcidDamage', H, Math.ceil(DamageTick)); InflictDamage('All', DamageTick, H); } if (HBleedVal > 0 && HBleedVal % 5 == 0) { DamageTick = HMaxHP * HBleedVal2 / 500; DamageTick *= (100 + Skill('H', 'DarkPower') * 4) / 100; if (DamageTick < 1) { DamageTick = 1; } CombatText('BleedDamage', H, Math.ceil(DamageTick)); InflictDamage('HP', DamageTick, H); } if (HPoisonVal > 0 && HPoisonVal % 5 == 0) { DamageTick = HHP * HPoisonVal2 / 500; DamageTick *= (100 + Skill('H', 'DarkPower') * 4) / 100; if (DamageTick < 1) { DamageTick = 1; } CombatText('PoisonDamage', H, Math.ceil(DamageTick)); InflictDamage('HP', DamageTick, H); } if (HStunVal % 5 == 0 && HStunVal > 0) { GraphicEffect('Z_Stun1', {'A': spin, 'B': grow}, {'Ref': H, '_rotation': Time}); } if (SStunVal % 5 == 0 && SStunVal > 0) { GraphicEffect('Z_Stun1', {'A': spin, 'B': grow}, {'Ref': S, '_rotation': Time}); } if (HFreezeVal % 5 == 0 && HFreezeVal > 0) { GraphicEffect('Z_Freeze', {'A': fadeOut}, {'Ref': H}); } if (SFreezeVal % 5 == 0 && SFreezeVal > 0) { GraphicEffect('Z_Freeze', {'A': fadeOut}, {'Ref': S}); } if (HBurnVal % 5 == 0 && HBurnVal > 0) { GraphicEffect('Z_Explosion1', {'A': spin, 'B': fadeOut, 'C': grow}, {'Ref': H}); } if (SBurnVal % 5 == 0 && SBurnVal > 0) { GraphicEffect('Z_Explosion1', {'A': spin, 'B': fadeOut, 'C': grow}, {'Ref': S}); } if (HBleedVal % 5 == 0 && HBleedVal > 0) { GraphicEffect('Z_RedFX1', {'A': spin, 'B': grow}, {'Ref': H, '_xscale': 50, '_yscale': 50}); } if (SBleedVal % 5 == 0 && SBleedVal > 0) { GraphicEffect('Z_RedFX1', {'A': spin, 'B': grow}, {'Ref': S, '_xscale': 50, '_yscale': 50}); } if (HShockVal % 5 == 0 && HShockVal > 0) { GraphicEffect('Z_DoubleLightning', {}, {'Ref': H, '_xscale': 150, '_yscale': 150}); } if (SShockVal % 5 == 0 && SShockVal > 0) { GraphicEffect('Z_DoubleLightning', {}, {'Ref': S, '_xscale': 150, '_yscale': 150}); } if (HIgniteVal % 5 == 0 && HIgniteVal > 0) { GraphicEffect('Z_Hellfire', {'A': grow, 'B': fadeOut}, {'Ref': H}); } if (SIgniteVal % 5 == 0 && SIgniteVal > 0) { GraphicEffect('Z_Hellfire', {'A': grow, 'B': fadeOut}, {'Ref': S}); } if (HAcidVal % 5 == 0 && HAcidVal > 0) { GraphicEffect('Z_Acid', {'A': grow, 'B': spin}, {'Ref': H}); } if (SAcidVal % 5 == 0 && SAcidVal > 0) { GraphicEffect('Z_Acid', {'A': grow, 'B': spin}, {'Ref': S}); } if (HFrostVal % 5 == 0 && HFrostVal > 0) { GraphicEffect('Z_FrostRing2', {'A': spin, 'B': grow}, {'Ref': H}); } if (SFrostVal % 5 == 0 && SFrostVal > 0) { GraphicEffect('Z_FrostRing2', {'A': spin, 'B': grow}, {'Ref': S}); } if (HPoisonVal % 5 == 0 && HPoisonVal > 0) { GraphicEffect('Z_Poison1', {'A': spin, 'B': grow}, {'Ref': H}); } if (SPoisonVal % 5 == 0 && SPoisonVal > 0) { GraphicEffect('Z_Poison1', {'A': spin, 'B': grow}, {'Ref': S}); } if (HVoidVal < 0) { HVoidVal = 0; } --HStunVal; --HFreezeVal; --HBurnVal; --HBleedVal; --HShockVal; --HIgniteVal; --HAcidVal; --HFrostVal; --HPoisonVal; HFlareType = ''; --HStunBreak; --HStunPrevent; --HFreezePrevent; --HBurnPrevent; --HBleedPrevent; --HShockPrevent; --HIgnitePrevent; --HAcidPrevent; --HVoidPrevent; --HFrostPrevent; --HPoisonPrevent; recovery = 0; recovery = 0; while (RN(100 + recovery) < Skill('H', 'StatusRecoveryBonus')) { recovery += 100; --HStunVal; --HFreezeVal; --HBurnVal; --HBleedVal; --HShockVal; --HIgniteVal; --HAcidVal; --HFrostVal; --HPoisonVal; } recovery = 0; while (RN(100 + recovery) < Skill('S', 'StatusRecoveryBonus')) { recovery += 100; --SStunVal; --SFreezeVal; --SBurnVal; --SBleedVal; --SShockVal; --SIgniteVal; --SAcidVal; --SFrostVal; --SPoisonVal; } MHPCalc = Skill('S', 'MHP') * (100 + Skill('S', 'LifePower')) / 100; SMaxHP = MHPCalc - SVoidVal + SMaxHPBuff; if (SHP <= 0) { ResetItemShop(); SpiderDeath(); SpiderBegin(); } if (SES < 0) { SES = 0; } if (SArmor < 0) { SArmor = 0; } SMaxES = Skill('S', 'MaxEnergyShield') + SMaxESBuff; SMaxES *= (100 - Skill('H', 'ShieldBanishing')) / 100; RegenRatio = 1; if (SBurnVal > 0) { RegenRatio = +(Skill('S', 'BurnAffinity') / 100); } SHP += RegenRatio * (SMaxHP * Skill('S', 'HPRegenPcnt') / 2500); SES += RegenRatio * Skill('S', 'ShieldRegenFlat') / 25; if (SHP > SMaxHP) { SHP = SMaxHP; } if (SES > SMaxES) { SES = SMaxES; } HeroVamp = Skill('H', 'Statusvamp'); if (SIgniteVal > 0 && SIgniteVal % 5 == 0) { DamageTick = SIgniteVal2 / 10; HHP += DamageTick * HeroVamp / 100; CombatText('IgniteDamage', S, Math.ceil(DamageTick)); InflictDamage('All', DamageTick, S); HellfireTick = DamageTick * Skill('H', 'Hellfire') / 100; if (HellfireTick > 0) { CombatText('HellfireDamage', S, Math.ceil(HellfireTick)); InflictDamage('HP', HellfireTick, S); } } if (SAcidVal > 0 && SAcidVal % 5 == 0) { DamageTick = SAcidVal2 / 10; HHP += DamageTick * HeroVamp / 100; CombatText('AcidDamage', S, Math.ceil(DamageTick)); InflictDamage('All', DamageTick, S); } if (SBleedVal > 0 && SBleedVal % 5 == 0) { DamageTick = SMaxHP * SBleedVal2 / 500; HHP += DamageTick * HeroVamp / 100; CombatText('BleedDamage', S, Math.ceil(DamageTick)); InflictDamage('HP', DamageTick, S); } if (SPoisonVal > 0 && SPoisonVal % 5 == 0) { DamageTick = SHP * SPoisonVal2 / 500; HHP += DamageTick * HeroVamp / 100; CombatText('PoisonDamage', S, Math.ceil(DamageTick)); InflictDamage('HP', DamageTick, S); Corrosive = DamageTick * Skill('H', 'CorrosivePoison') / 100; InflictDamage('Armor', Corrosive, S); } if (HHP > HMaxHP) { HHP = HMaxHP; } --SStunVal; --SFreezeVal; --SBurnVal; --SBleedVal; --SShockVal; --SIgniteVal; --SAcidVal; --SFrostVal; --SPoisonVal; --SStunBreak; --SStunPrevent; --SFreezePrevent; --SBurnPrevent; --SBleedPrevent; --SShockPrevent; --SIgnitePrevent; --SAcidPrevent; --SVoidPrevent; --SFrostPrevent; --SPoisonPrevent; SFlareType = ''; } function CalcHoarding() { if (_global.StarCount > StarsHoarded && TGS == false) { StarsHoarded = _global.StarCount; SharedObjectSave.data.StarsHoarded = StarsHoarded; } if (_global.GoldCount > GoldHoarded && TGS == false) { GoldHoarded = _global.GoldCount; SharedObjectSave.data.GoldHoarded = GoldHoarded; } } function SpiderDeath() { trace('SpiderDeath'); HeroSkillGrowth(); CalcHoarding(); HeroStatusImmune = false; HeroInvincibility = false; TrackerText('BunnyPraise', Bunny, ''); StarDrop = 500 + CurrentStage * 20 + Skill('H', 'StarGainBonus'); StarDrop += _global.StarBonus; if (SkillChance('H', 'Star2xChance')) { StarDrop *= 2; if (RN(100) < Skill('H', 'Luck')) { StarDrop += 100; } } GoldDrop = (250 + CurrentStage * 5 + _global.GoldBonus + Skill('H', 'GoldFindIncreaseFlat')) * (Skill('H', 'GoldFindIncreasePcnt') + 100) / 100; if (CurrentStage == HeroGhostStage && CurrentStage != 0) { if (HHP > 0) { StarDrop += 500 + CurrentStage * 100; } else { StarDrop = 0; GoldDrop = 0; } } DropStars(S, Math.ceil(StarDrop)); DropGold(S, Math.ceil(GoldDrop)); DropMax = 4; if (RN(100) < Skill('H', 'Luck')) { DropMax += 2; } if (CurrentStage > 100) { DropMax += 1; } if (RN(100) < 10) { DropMax += 1; } if (Skill('H', 'ExtraItemFind') > 150) { DropMax += 1; } if (Skill('H', 'ExtraItemFind') > 175) { DropMax += 1; } if (Skill('H', 'ExtraItemFind') > 195) { DropMax += 1; } if (Skill('H', 'ExtraItemFind') == 200) { DropMax += 1; } d = 0; while (d < DropMax) { if (RN(100) < 10 + Skill('H', 'ExtraItemFind') / 10) { ID = TotalItemID; GenItem('Random'); DropItem(S, ID); } ++d; } SpiderMode = 1; SpiderTime = 0; } function HeroBegin() { Time = 0; ImpendingAttack = 0; ImpendingMagic = 0; ImpendingFlag = false; if (_global.SpiderShield == true) { TIMEREMAINING = 120 + 6 * CurrentStage; if (TIMEREMAINING > 1440) { TIMEREMAINING = 1440; } } ArmorMemory = 0; if (CurrentStage == HeroGhostStage && HeroGhostStage > 0) { LoadGhost(); } InitiateActiveItems(); if (CurrentStage == 2) { HeroComplain(); } HES = HMaxES; HArmor = Skill('H', 'ArmorValue') * (100 + Skill('H', 'ArmorValueBonusPcnt')) / 100; HArmorTotal = HArmor; HVoidVal = 0; Regen(); HHP = HMaxHP; HStunVal = 0; HFreezeVal = 0; HBurnVal = 0; HBleedVal = 0; HBleedVal2 = 0; HShockVal = 0; HShockVal2 = 0; HIgniteVal = 0; HIgniteVal2 = 0; HAcidVal = 0; HAcidVal2 = 0; HVoidVal = 0; HFrostVal = 0; HFrostVal2 = 0; HPoisonVal = 0; HPoisonVal2 = 0; HRageVal = 0; HCascadeVal = 0; HAttackCharge += Skill('H', 'BurstAttack'); HMagicCharge += Skill('H', 'BurstMagic'); HManaTime = Time % 400 - (100 + Skill('H', 'ManaRegenBonus')); HMaxHPBuff = 0; HMaxESBuff = 0; if (RN(100) < Skill('H', 'DivineWrath')) { SStunVal = 50; SFreezeVal = 50; SBurnVal = 50; SBleedVal = 50; SBleedVal2 = 5; SShockVal = 50; SShockVal2 = 100 + CurrentStage; SIgniteVal = 100; SIgniteVal2 = 500 + CurrentStage * 10; SAcidVal = 100; SAcidVal2 = 25 + CurrentStage; SFrostVal = 50; SFrostVal2 = 50; SPoisonVal = 50; SPoisonVal2 = 5; SStunBreak = 0; SStunPrevent = 0; SFreezePrevent = 0; } Barrier = Skill('H', 'Barrier'); if (Barrier > 0) { GraphicEffect('Z_Barrier', {}, {'_x': H._x, '_y': H._y, 'Life': 96}); } SpellShield = Skill('H', 'SpellShield'); if (SpellShield > 0) { GraphicEffect('Z_SpellShield', {}, {'_x': H._x, '_y': H._y, 'Life': 120}); } L = Skill('H', 'LightningStrike'); if (L > 0) { ScaleCalc = getDist(H, S); RotCalc = rotateTo(H, S); GraphicEffect('Z_Lightning1', {}, {'_x': H._x, '_y': H._y, '_yscale': ScaleCalc, '_rotation': RotCalc}); Smite = (100 + Skill('H', 'SmiteDamage')) / 100; Amp = Skill('H', 'ShockDamageAmplifyPcnt'); Damage = Math.floor((L * 5 + RN(L * 45)) * Smite * (1 + Amp / 100)); ++this.StatusAilmentsS; if (this.SShockVal <= 0) { CombatText('StatusEffect', S, 'Shock!'); } this.SShockVal = 100; this.SShockVal2 = Amp; CombatText('MagicDamage', S, Damage); InflictDamage('All', Damage, S); } if (_global.SpiderWrath == true) { L = StageBonus(); ScaleCalc = getDist(H, S); RotCalc = rotateTo(S, H); GraphicEffect('Z_RedLightning2', {}, {'_x': S._x, '_y': S._y, '_yscale': ScaleCalc, '_rotation': RotCalc}); Amp = Skill('S', 'ShockDamageAmplifyPcnt'); Damage = Math.floor((L * 5 + RN(L * 45)) * (1 + Amp / 100)); ++this.StatusAilmentsH; if (this.HShockVal <= 0) { CombatText('StatusEffect', H, 'Shock!'); } this.HShockVal = 100; this.HShockVal2 = Amp; CombatText('MagicDamage', H, Damage); InflictDamage('All', Damage, H); HStunVal = 50; HFreezeVal = 50; HBurnVal = 50; HBleedVal = 50; HBleedVal2 = 5; HShockVal = 50; HShockVal2 = 100; HIgniteVal = 100; HIgniteVal2 = 50 + CurrentStage * 10; HAcidVal = 100; HAcidVal2 = 10 + CurrentStage; HFrostVal = 50; HFrostVal2 = 50; HPoisonVal = 50; HPoisonVal2 = 5; HStunBreak = 0; HStunPrevent = 0; HFreezePrevent = 0; } if (Skill('H', 'SummonDecoy') > 0) { SummonDecoy(); } } function StageBonus() { return Math.ceil(CurrentStage * (100 + _global.StageBonus) / 100); } function SpiderBegin() { trace('SpiderBegin'); if (CurrentStage == HeroGhostStage && HeroGhostStage > 0 && GhostFlag == true) { KillGhost(); } ++CurrentStage; ++Trinity1[StageKey]; StageScale = 1 + StageBonus() / 25; StageScale = StageScale * (100 + Skill('H', 'StageScalingIncrease')) / 100; if (CurrentStage == 1000) { ChooseEvilHoly(); } if (CurrentStage == 100) { x1 = S._x; y1 = S._y; S.removeMovieClip(); Trinity1[this.SpiderKey_MagicDamageReductionPcnt] += 50; S_MagicDamageReductionPcnt.SkillLevel += 50; Trinity1[this.SpiderKey_MagicDamageReductionFlat] += 50; S_MagicDamageReductionFlat.SkillLevel += 50; Trinity1[this.SpiderKey_ArmorValue] += 500; S_ArmorValue.SkillLevel += 500; Trinity1[this.SpiderKey_Flurry9xChance] += 25; S_Flurry9xChance.SkillLevel += 25; Trinity1[this.SpiderKey_ShieldRegenFlat] += 25; S_ShieldRegenFlat.SkillLevel += 25; Trinity1[this.SpiderKey_MHP] += 1000; S_MHP.SkillLevel += 1000; Trinity1[this.SpiderKey_HPRegenPcnt] += 5; S_HPRegenPcnt.SkillLevel += 5; var v3 = this.attachMovie('GiantSpiderUnit', 'S', 2140000); v3._x = x1; v3._y = y1; v3._xscale = 200; v3._yscale = 200; v3.Name = 'S'; } if (TGS == false) { kongregate.stats.submit('HighestStage', StageBonus()); if (StageBonus() > HighestStage && TGS == false) { HighestStage = StageBonus(); SharedObjectSave.data.HighestStage = StageBonus(); } if (CurrentStage > this['Mode' + _global.GameMode + 'Stage']) { this['Mode' + _global.GameMode + 'Stage'] = CurrentStage; SharedObjectSave.data['Mode' + _global.GameMode + 'Stage'] = CurrentStage; } } SpiderLevelUp(); SES = SMaxES; SArmor = Skill('S', 'ArmorValue') * (100 + Skill('S', 'ArmorValueBonusPcnt')) / 100; MHPCalc = Skill('S', 'MHP') * (100 + Skill('S', 'LifePower')) / 100; SMaxHP = MHPCalc - SVoidVal + SMaxHPBuff; SHP = SMaxHP; SStunVal = 0; SFreezeVal = 0; SBurnVal = 0; SBleedVal = 0; SBleedVal2 = 0; SShockVal = 0; SShockVal2 = 0; SIgniteVal = 0; SIgniteVal2 = 0; SAcidVal = 0; SAcidVal2 = 0; SVoidVal = 0; SFrostVal = 0; SPoisonVal = 0; SPoisonVal2 = 0; SRageVal = 0; SCascadeVal = 0; SAttackCharge = 0; SMagicCharge = 0; Time % 400 - (100 + Skill('S', 'ManaRegenBonus')); SMaxHPBuff = 0; SMaxESBuff = 0; MaxOverkill = Skill('H', 'MaxOverkill'); if (MaxOverkill > 0) { MaxOverkillEffect(MaxOverkill); } } function SpiderLevelUp() { if (Time < 100) { Trinity1[this.SpiderKey_MHP] += Math.floor(CurrentStage / 5); S_MHP.SkillLevel += Math.floor(CurrentStage / 5); } else { if (Time < 200) { Trinity1[this.SpiderKey_CastRate] += 1; S_CastRate.SkillLevel += 1; } else { if (Time < 500) { Trinity1[this.SpiderKey_PhysicalAttackDamage] += 1; S_PhysicalAttackDamage.SkillLevel += 1; } else { Trinity1[this.SpiderKey_RageDamageBonusFlat] += 1; S_RageDamageBonusFlat.SkillLevel += 1; } } } if (CurrentStage == 5) { Trinity1[this.SpiderKey_ArmorValue] += 4; S_ArmorValue.SkillLevel += 4; } if (CurrentStage == 10) { Trinity1[this.SpiderKey_ArmorValue] += 10; S_ArmorValue.SkillLevel += 10; Trinity1[this.SpiderKey_Flurry3xChance] += 25; S_Flurry3xChance.SkillLevel += 25; } if (CurrentStage == 20) { Trinity1[this.SpiderKey_Flurry9xChance] += 5; S_Flurry9xChance.SkillLevel += 5; Trinity1[this.SpiderKey_CastRate] += 10; S_CastRate.SkillLevel += 10; } if (CurrentStage == 30) { Trinity1[this.SpiderKey_ArmorValue] += 10; S_ArmorValue.SkillLevel += 10; Trinity1[this.SpiderKey_PhysicalAttackDamage] += 5; S_PhysicalAttackDamage.SkillLevel += 5; Trinity1[this.SpiderKey_AttackSpeed] += 10; S_AttackSpeed.SkillLevel += 10; } if (CurrentStage == 40) { Trinity1[this.SpiderKey_Flurry9xChance] += 5; S_Flurry9xChance.SkillLevel += 5; } if (CurrentStage == 50) { Trinity1[this.SpiderKey_Cast5xChance] += 10; S_Cast5xChance.SkillLevel += 10; } if (CurrentStage == 70) { Trinity1[this.SpiderKey_ArmorValue] += 50; S_ArmorValue.SkillLevel += 50; Trinity1[this.SpiderKey_ArmorValueBonusPcnt] += 50; S_ArmorValueBonusPcnt.SkillLevel += 50; } if (CurrentStage == 90) { Trinity1[this.SpiderKey_ShieldRegenFlat] += 50; S_ShieldRegenFlat.SkillLevel += 50; } if (CurrentStage % 2 == 0) { Trinity1[this.SpiderKey_PhysicalAttackDamage] += 1; S_PhysicalAttackDamage.SkillLevel += 1; } if (CurrentStage % 2 == 0) { Trinity1[this.SpiderKey_AttackSpeed] += 1; S_AttackSpeed.SkillLevel += 1; } if (CurrentStage % 10 == 0 && CurrentStage > 20) { Trinity1[this.SpiderKey_PhysicalAttackDamage] += 5; S_PhysicalAttackDamage.SkillLevel += 5; Trinity1[this.SpiderKey_ArmorValue] += Math.floor(CurrentStage); S_ArmorValue.SkillLevel += Math.floor(CurrentStage); } if (CurrentStage % 25 == 0) { Trinity1[this.SpiderKey_PhysicalAttackDamage] += 5; S_PhysicalAttackDamage.SkillLevel += 5; Trinity1[this.SpiderKey_MHP] += CurrentStage * 4; S_MHP.SkillLevel += CurrentStage * 4; } if (CurrentStage % 50 == 0) { Trinity1[this.SpiderKey_CastRate] += 20; S_CastRate.SkillLevel += 20; Trinity1[this.SpiderKey_ArmorValue] += CurrentStage * 4; S_ArmorValue.SkillLevel += CurrentStage * 4; } if (CurrentStage % 100 == 0) { Trinity1[this.SpiderKey_MHP] += CurrentStage * CurrentStage; S_MHP.SkillLevel += CurrentStage * CurrentStage; } Trinity1[this.SpiderKey_MHP] += Math.floor(CurrentStage); S_MHP.SkillLevel += Math.floor(CurrentStage); if (CurrentStage >= 10) { Trinity1[this.SpiderKey_ArmorValue] += 1; S_ArmorValue.SkillLevel += 1; } if (CurrentStage >= 30) { Trinity1[this.SpiderKey_ArmorValue] += 2; S_ArmorValue.SkillLevel += 2; } if (CurrentStage > 49) { Trinity1[this.SpiderKey_MagicDamage] += 1; S_MagicDamage.SkillLevel += 1; Trinity1[this.SpiderKey_ArmorValue] += 5; S_ArmorValue.SkillLevel += 5; Trinity1[this.SpiderKey_MHP] += Math.floor(CurrentStage); S_MHP.SkillLevel += Math.floor(CurrentStage); } if (CurrentStage > 99) { if (S._xscale < 1200) { S._xscale += 1; S._yscale += 1; } Trinity1[this.SpiderKey_ArmorValue] += Math.floor(CurrentStage); S_ArmorValue.SkillLevel += Math.floor(CurrentStage); Trinity1[this.SpiderKey_MHP] += CurrentStage * 5; S_MHP.SkillLevel += CurrentStage * 5; } if (CurrentStage > 199) { Trinity1[this.SpiderKey_ArmorValue] += CurrentStage * 2; S_ArmorValue.SkillLevel += CurrentStage * 2; Trinity1[this.SpiderKey_MHP] += CurrentStage * 25; S_MHP.SkillLevel += CurrentStage * 25; } if (CurrentStage > 299) { Trinity1[this.SpiderKey_ArmorValue] += CurrentStage * 50; S_ArmorValue.SkillLevel += CurrentStage * 50; Trinity1[this.SpiderKey_ShieldRegenFlat] += Math.floor(CurrentStage / 4); S_ShieldRegenFlat.SkillLevel += Math.floor(CurrentStage / 4); Trinity1[this.SpiderKey_PhysicalAttackDamage] += 1; S_PhysicalAttackDamage.SkillLevel += 1; Trinity1[this.SpiderKey_MHP] += CurrentStage * 100; S_MHP.SkillLevel += CurrentStage * 100; } if (CurrentStage > 399) { Trinity1[this.SpiderKey_ArmorValue] += CurrentStage * 100; S_ArmorValue.SkillLevel += CurrentStage * 100; Trinity1[this.SpiderKey_MagicDamage] += 1; S_MagicDamage.SkillLevel += 1; } if (CurrentStage > 499) { Trinity1[this.SpiderKey_HPRegenPcnt] += 5; S_HPRegenPcnt.SkillLevel += 5; Trinity1[this.SpiderKey_ArmorValue] += CurrentStage * 500; S_ArmorValue.SkillLevel += CurrentStage * 500; Trinity1[this.SpiderKey_MHP] += CurrentStage * CurrentStage * 3; S_MHP.SkillLevel += CurrentStage * CurrentStage * 3; } if (CurrentStage > 999) { Trinity1[this.SpiderKey_LifePower] += 5; S_LifePower.SkillLevel += 5; Trinity1[this.SpiderKey_MHP] += CurrentStage * CurrentStage * 5; S_MHP.SkillLevel += CurrentStage * CurrentStage * 5; } i = 0; while (i < SpiderSkill.length) { if (CurrentStage == this['S_' + SpiderSkill[i]].LevelStart) { MothCreate(SpiderSkill[i]); } ++i; } Count = 0; while (Count < CurrentStage) { Count += 50; i = 0; while (i < SpiderSkill.length) { if (this['S_' + SpiderSkill[i]].Unlock == true) { if (CurrentStage % this['S_' + SpiderSkill[i]].LevelTime == 0) { ++Trinity1[this['SpiderKey_' + SpiderSkill[i]]]; ++this['S_' + SpiderSkill[i]].SkillLevel; } } ++i; } } } function DropItem(Spawn, ID) { var v3 = this.attachMovie('ItemIconCell', 'item' + _global.Depth, _global.Depth); ++_global.Depth; v3._x = Spawn._x; v3._y = Spawn._y; v3._xscale = 75; v3._yscale = 75; v3.Target = ItemBox; v3.Speed = 8 + RN(2); v3.Homing = 12 + RN(4); v3._rotation = RN(360, 100); if (RN(100) < 50) { v3._rotation *= -1; } v3.RotationSave = v3._rotation; v3.SpinVal = RN(20, 20); v3.Time = 0; LoadInventoryCell(v3, ID); v3.ID = ID; v3.onEnterFrame = function () { if (_global.TitleScreen == true) { this.removeMovieClip(); } if (_global.GamePause != true) { TempRot = this._rotation; this._rotation = this.RotationSave; homing(this, this.Target, this.Homing); run(this); this.RotationSave = this._rotation; this._rotation = 0; ++this.Time; if (this.Time > 5) { this.Homing += 0.1; } if (getDist(this, this.Target) < 10) { AddInventoryItem(this.ID); GraphicEffect('Z_Consecrate', {'A': spin, 'B': grow, 'C': fadeOut}, {'_x': this._x, '_y': this._y, 'Grow': RN(10, 40), 'Life': RN(5, 5), 'Spin': RN(45, 45)}); this.removeMovieClip(); } } }; } function DropStars(Spawn, Amount) { DropSize = 50; if (_global.StarGoldCondense == 1) { DropSize = 999999999; } if (_global.StarGoldCondense == 2) { Trinity1[StarKey] += Amount; _global.StarCount += Amount; TotalStars += Amount; Amount = 0; } while (Amount > 0) { StarCluster = Amount; if (StarCluster > DropSize) { StarCluster = DropSize; DropSize *= 2; } Amount -= StarCluster; var v3 = this.attachMovie('GlowStar', 'star' + _global.Depth, _global.Depth); ++_global.Depth; v3._x = Spawn._x; v3._y = Spawn._y; v3._xscale = 75; v3._yscale = 75; v3.Amount = StarCluster; v3.Target = SkillSymbol; v3.Speed = 15 + RN(7); v3.Homing = 4 + RN(4); v3._rotation = RN(360, 100); if (RN(100) < 50) { v3._rotation *= -1; } v3.RotationSave = v3._rotation; v3.SpinVal = RN(20, 20); v3.Time = 0; v3.onEnterFrame = function () { if (_global.TitleScreen == true) { this.removeMovieClip(); } if (_global.GamePause != true) { TempRot = this._rotation; this._rotation = this.RotationSave; homing(this, this.Target, this.Homing); run(this); this.RotationSave = this._rotation; this._rotation = TempRot + this.SpinVal; ++this.Time; if (this.Time > 5) { this.Homing += 0.5; } if (this.Time > 50 && this.Speed > 5) { this.Speed -= 0.1; } if (getDist(this, this.Target) < 20) { this._parent.Trinity1[this._parent.StarKey] += this.Amount; _global.StarCount += this.Amount; this._parent.TotalStars += this.Amount; GraphicEffect('Z_Discovery2', {'A': spin, 'B': grow, 'C': fadeOut}, {'_x': this._x, '_y': this._y, 'Grow': RN(10, 40), 'Life': RN(5, 5), 'Spin': RN(45, 45)}); this.removeMovieClip(); } } }; } } function DropGold(Spawn, Amount) { DropSize = 25; if (_global.StarGoldCondense == 1) { DropSize = 999999999; } if (_global.StarGoldCondense == 2) { Trinity1[GoldKey] += Amount; _global.GoldCount += Amount; TotalGold += Amount; Amount = 0; } while (Amount > 0) { GoldCluster = Amount; if (GoldCluster > DropSize) { GoldCluster = DropSize; DropSize *= 2; } Amount -= GoldCluster; var v3 = this.attachMovie('GoldBar', 'Gold' + _global.Depth, _global.Depth); ++_global.Depth; v3._x = Spawn._x; v3._y = Spawn._y; v3._xscale = 200; v3._yscale = 200; v3.Amount = GoldCluster; v3.Target = ShopIcon; v3.Speed = 15 + RN(7); v3.Homing = 4 + RN(4); v3._rotation = RN(360, 100); v3.RotationSave = v3._rotation; v3.SpinVal = RN(25, 25); v3.Time = 0; v3.onEnterFrame = function () { if (_global.TitleScreen == true) { this.removeMovieClip(); } if (_global.GamePause != true) { TempRot = this._rotation; this._rotation = this.RotationSave; homing(this, this.Target, this.Homing); run(this); this.RotationSave = this._rotation; this._rotation = TempRot + this.SpinVal; ++this.Time; if (this.Time > 5) { this.Homing += 0.5; } if (this.Time > 50 && this.Speed > 5) { this.Speed -= 0.1; } if (getDist(this, this.Target) < 20) { this._parent.Trinity1[this._parent.GoldKey] += this.Amount; _global.GoldCount += this.Amount; this._parent.TotalGold += this.Amount; GraphicEffect('Z_Feedback', {'A': spin, 'B': grow}, {'_x': this._x, '_y': this._y, 'Grow': RN(10, 25), 'Life': RN(5, 15), 'Spin': RN(45, 45)}); this.removeMovieClip(); } } }; } } function MothCreate(SkillType) { var v3 = this.attachMovie('GazerUnit', 'Moth' + MothCount, _global.Depth); ++_global.Depth; ++MothCount; v3._x = RN(1200, -200); v3._y = -50; v3.Flying = true; v3.Alive = true; v3.WebSac = false; v3._rotation = RN(360); v3.Speed = 8 + RN(7); v3.SpinVal = 15 + RN(50) + v3.Speed; v3.ActivityLevel = RNC(200); v3.Homing = 1 + RN(2); v3.Target = S; v3.Skill = SkillType; v3.ID = MothCount; v3.Life = 25; v3.WebTime = 0; v3.FadeMode = false; v3.Time = 0; v3.Healed = false; v3.SpawnStage = CurrentStage; v3.Blessing = Skill('H', 'MothBlessing') / 20; v3.MothDoom = false; v3.onEnterFrame = function () { if (_global.TitleScreen == true) { this.removeMovieClip(); } if (_global.GamePause != true) { ++this.Time; if (this.Flying) { TempRot = this._rotation; this._rotation = this.RotationSave; homing(this, this._parent.Web, this.Homing); run(this); this.RotationSave = this._rotation; this._rotation = TempRot + this.SpinVal; } if (getDist(this, this.Target) < 20 || this._parent.CurrentStage > this.SpawnStage + 10 && this.Flying != true) { --this.Life; } if (this.Alive == false && RN(10000) < Skill('H', 'MothBlessing') && this.Healed == false) { trace('heal!'); this.Blessing += 10; this.Healed = true; GraphicEffect('Z_EarthHeal', {}, {'_x': this._x, '_y': this._y}); this.Life = 50; this.Alive = true; this.Flying = true; this.WebTime = 0; this.WebSac = false; this.gotoAndPlay(1); } if (this.Life <= 0) { this.Alive = false; this.Flying = false; this.gotoAndStop(75); } if (this.Life <= -25) { this.WebSac = true; this.Flying = false; this.gotoAndStop(76); } if (this.WebSac == false && this.Alive == false && this.Time % 400 == 0) { SpiderBeacon(this, this.ID); } if (this._parent.CurrentStage > this.SpawnStage + 15 + this.Blessing && getDist(this, S) < 500) { this._rotation = rotateTo(this, S); run(this); this.MothDoom = true; ScaleCalc = getDist(this, S); RotCalc = rotateTo(this, S); GraphicEffect('Z_BlackLightning1', {}, {'_x': this._x, '_y': this._y, '_yscale': ScaleCalc, '_rotation': RotCalc}); } if (this.WebSac == true && this.FadeMode != true || this.MothDoom) { ++this.WebTime; if (this.WebTime > 500 - RN(100) || this.MothDoom) { if (this.Time % 100 == 0) { SpiderBeacon(this, this.ID + 5); } if (getDist(this, this.Target) < 15 && RN(100) < 4 || this.MothDoom) { if (this.FadeMode != true) { this._parent['S_' + this.Skill].Unlock = true; ImportantText('SkillUnlock2', S, this._parent['S_' + this.Skill].SkillName); S._xscale += 2; S._yscale += 2; this.FadeMode = true; } } } } if (this.FadeMode == true) { this._alpha -= 1; if (this._alpha <= 50) { this.removeMovieClip(); } } if (this.Alive) { if (this.Time % (200 + this.ActivityLevel) == 0) { TrackerText('SaveMe', this, ''); if (this.Flying == false) { SpiderBeacon(this, this.ID); } } } if (this.Time > 200 && this.Time % 25 == 0) { this.Homing += RN(2, -1); } if (this.Time > 400) { this.Homing += 0.05; } if (getDist(this, this._parent.Web) < 100 && RN(100) < 5 && this.Alive) { this._rotation += 180 + RN(20, -10); if (RN(100) < 2) { this.Flying = true; } } if (getDist(this, this._parent.Web) < 100 && RN(100) < 10) { this.Flying = false; } } }; } function SpiderBeacon(Self, YieldVal) { if (SpiderFocus == 0 || SpiderFocus > YieldVal) { SStunBreak = 10; SpiderFocus = YieldVal; S.BeaconLink = Self; S.BeaconTime = 100 + RNC(250); } } function SpiderWander() { MoveAmount = 10; if (_global.SpiderDashes == true) { MoveAmount += 1000 + CurrentStage * 10; } if (RN(5000) < 10) { S.TargetX = Web._x + RN(100, -50); S.TargetY = Web._y + RN(100, -25); } if (RN(10000) < MoveAmount) { S.TargetX = Web._x + RN(350, -175); S.TargetY = Web._y + RN(175, -75); } if (S.BeaconLink != undefined) { --S.BeaconTime; SStunBreak = 20; S.TargetX = S.BeaconLink._x; S.TargetY = S.BeaconLink._y; if (getDist(S, S.BeaconLink) < 20) { S.BeaconTime -= 5; } if (S.BeaconTime <= 0) { S.BeaconLink = undefined; SpiderFocus = 0; S.TargetX = Web._x + RN(100, -50); S.TargetY = Web._y + RN(100, -50); } } if (S._x < S.TargetX + 5) { ++S._x; } if (S._x > S.TargetX - 5) { --S._x; } if (S._y < S.TargetY + 5) { ++S._y; } if (S._y > S.TargetY - 5) { --S._y; } if (_global.SpiderDashes == true) { DashScale = getDist(S, {'_x': S.TargetX, '_y': S.TargetY}); DashRot = rotateTo({'_x': S.TargetX, '_y': S.TargetY}, S); GraphicEffect('Z_Dash1', {}, {'_x': S.TargetX, '_y': S.TargetY, '_yscale': DashScale, '_rotation': DashRot}); S._x = S.TargetX; S._y = S.TargetY; } } function SpiderTaunt() { if (TrueTime - TauntTime > 100) { TauntTime = TrueTime; var v3 = this.attachMovie('TauntText', 'TauntTxt', _global.Depth); ++_global.Depth; v3._x = S._x; v3._y = S._y + 5; v3.Life = 100; v3.onEnterFrame = function () { this._y -= 0.1; --this.Life; if (this.Life < 0) { this.removeMovieClip(); } }; } } function HeroComplain() { var v3 = this.attachMovie('ComplainText', 'ComplainTxt', _global.Depth); ++_global.Depth; v3._x = H._x; v3._y = H._y + 5; v3.Life = 100; v3.onEnterFrame = function () { this._y -= 0.1; --this.Life; if (this.Life < 0) { this.removeMovieClip(); } }; } function HeroIntro() { var v3 = this.attachMovie('StartGameText', 'IntroTxt', _global.Depth); ++_global.Depth; v3._x = H._x; v3._y = H._y + 5; v3.Life = 100; v3.onEnterFrame = function () { if (_global.TitleScreen == true) { this.removeMovieClip(); } if (_global.GamePause != true) { this._y -= 0.1; --this.Life; if (this.Life < 0) { this.removeMovieClip(); } } }; } function FakeLeveling() { if (RN(100) < 25) { ++this['H_' + HeroSkill[Math.floor(RN(HeroSkill.length))]].SkillLevel; } } function ManageInfo() { ENERGYSHIELD.text = BigNumber(HES) + '/' + BigNumber(HMaxES); HEALTHPOINTS.text = BigNumber(HHP) + '/' + BigNumber(HMaxHP); ARMORVALUE.text = BigNumber(HArmor); STUN._visible = false; FREEZE._visible = false; BURN._visible = false; BLEED._visible = false; SHOCK._visible = false; IGNITE._visible = false; ACID._visible = false; VOID._visible = false; FROST._visible = false; POISON._visible = false; RAGE._visible = false; CASCADE._visible = false; if (HStunVal > 0) { STUN._visible = true; } if (HFreezeVal > 0) { FREEZE._visible = true; } if (HBurnVal > 0) { BURN._visible = true; } if (HBleedVal > 0) { BLEED._visible = true; } if (HShockVal > 0) { SHOCK._visible = true; } else { HShockVal2 = 0; } if (HIgniteVal > 0) { IGNITE._visible = true; } if (HAcidVal > 0) { ACID._visible = true; } else { HAcidVal2 = 0; } if (HVoidVal > 0) { VOID._visible = true; } if (HFrostVal > 0) { FROST._visible = true; } else { HFrostVal2 = 0; } if (HPoisonVal > 0) { POISON._visible = true; } if (HRageVal > 0) { RAGE._visible = true; RAGE.text = Math.floor(HRageVal * 10) / 10 + ' RAGE'; } if (HCascadeVal > 0) { CASCADE._visible = true; CASCADE.text = Math.floor(HCascadeVal * 10) / 10 + '% CASCADE'; } if (HStunPrevent > 0 || HStunBreak > 0) { StunPrevent._visible = true; } else { StunPrevent._visible = false; } if (HFreezePrevent > 0 || HStunBreak > 0) { FreezePrevent._visible = true; } else { FreezePrevent._visible = false; } if (HBurnPrevent > 0) { BurnPrevent._visible = true; } else { BurnPrevent._visible = false; } if (HBleedPrevent > 0) { BleedPrevent._visible = true; } else { BleedPrevent._visible = false; } if (HShockPrevent > 0) { ShockPrevent._visible = true; } else { ShockPrevent._visible = false; } if (HIgnitePrevent > 0) { IgnitePrevent._visible = true; } else { IgnitePrevent._visible = false; } if (HAcidPrevent > 0) { AcidPrevent._visible = true; } else { AcidPrevent._visible = false; } if (HVoidPrevent > 0) { VoidPrevent._visible = true; } else { VoidPrevent._visible = false; } if (HFrostPrevent > 0) { FrostPrevent._visible = true; } else { FrostPrevent._visible = false; } if (HPoisonPrevent > 0) { PoisonPrevent._visible = true; } else { PoisonPrevent._visible = false; } if (SStunPrevent > 0 || SStunBreak > 0) { StunPrevent2._visible = true; } else { StunPrevent2._visible = false; } if (SFreezePrevent > 0 || SStunBreak > 0) { FreezePrevent2._visible = true; } else { FreezePrevent2._visible = false; } if (SBurnPrevent > 0) { BurnPrevent2._visible = true; } else { BurnPrevent2._visible = false; } if (SBleedPrevent > 0) { BleedPrevent2._visible = true; } else { BleedPrevent2._visible = false; } if (SShockPrevent > 0) { ShockPrevent2._visible = true; } else { ShockPrevent2._visible = false; } if (SIgnitePrevent > 0) { IgnitePrevent2._visible = true; } else { IgnitePrevent2._visible = false; } if (SAcidPrevent > 0) { AcidPrevent2._visible = true; } else { AcidPrevent2._visible = false; } if (SVoidPrevent > 0) { VoidPrevent2._visible = true; } else { VoidPrevent2._visible = false; } if (SFrostPrevent > 0) { FrostPrevent2._visible = true; } else { FrostPrevent2._visible = false; } if (SPoisonPrevent > 0) { PoisonPrevent2._visible = true; } else { PoisonPrevent2._visible = false; } ENERGYSHIELD2.text = BigNumber(SES) + '/' + BigNumber(SMaxES); HEALTHPOINTS2.text = BigNumber(SHP) + '/' + BigNumber(SMaxHP); ARMORVALUE2.text = BigNumber(SArmor); STUN2._visible = false; FREEZE2._visible = false; BURN2._visible = false; BLEED2._visible = false; SHOCK2._visible = false; IGNITE2._visible = false; ACID2._visible = false; VOID2._visible = false; FROST2._visible = false; POISON2._visible = false; RAGE2._visible = false; CASCADE2._visible = false; if (SStunVal > 0) { STUN2._visible = true; } if (SFreezeVal > 0) { FREEZE2._visible = true; } if (SBurnVal > 0) { BURN2._visible = true; } if (SBleedVal > 0) { BLEED2._visible = true; } if (SShockVal > 0) { SHOCK2._visible = true; } else { SShockVal2 = 0; } if (SIgniteVal > 0) { IGNITE2._visible = true; } if (SAcidVal > 0) { ACID2._visible = true; } else { SAcidVal2 = 0; } if (SVoidVal > 0) { VOID2._visible = true; } if (SFrostVal > 0) { FROST2._visible = true; } else { SFrostVal2 = 0; } if (SPoisonVal > 0) { POISON2._visible = true; } if (SRageVal > 0) { RAGE2._visible = true; RAGE2.text = Math.floor(SRageVal * 10) / 10 + ' RAGE'; } if (SCascadeVal > 0) { CASCADE2._visible = true; CASCADE2.text = Math.floor(SCascadeVal * 10) / 10 + '% CASCADE'; } } function BasicAttack(HS, Overflow) { if (Overflow == undefined) { Overflow = 0; } Data = new Object(); OverCharge = 1 + Overflow; if (HS == 'H') { HArmor += OverCharge * Skill('H', 'ArmorOnAttack'); } Data.ArcMin = 20; Data.ArcMax = 50; FlurryCount = 1; F1 = Skill(HS, 'Flurry3xChance'); M1 = 1; if (F1 > RN(100)) { M1 = 3; Data.ArcMin /= 2; Data.ArcMax += 20; F1 -= 100; while (F1 > 0) { if (F1 > RN(100)) { ++M1; Data.ArcMax += 5; } F1 -= 100; } } F2 = Skill(HS, 'Flurry9xChance'); M2 = 1; if (F2 > RN(100)) { M2 = 9; Data.ArcMin /= 2; Data.ArcMax += 20; F2 -= 100; while (F2 > 0) { if (F2 > RN(100)) { M2 += 2; Data.ArcMax += 5; } F2 -= 100; } } if (_global.MultifireCondense == 1) { if (M2 >= 9) { OverCharge *= M2; M2 = 1; } else { if (M1 >= 3) { OverCharge *= M1; M1 = 1; } } } FlurryCount = M1 * M2; if (_global.MultifireCondense == 2) { OverCharge *= FlurryCount; FlurryCount = 1; } Data.PhysicalAttackDamage = Skill(HS, 'PhysicalAttackDamage'); if (HS == 'H') { Data.PhysicalAttackDamage -= 1 * Skill('H', 'GuardianPower'); Data.PhysicalAttackDamage += 2 * Skill('H', 'CurseOfAttack'); } Data.PhysicalAttackDamage *= 1 + Skill('H', 'PhysicalAttackBonusPcnt') / 100; Data.PhysicalAttackDamage += this[HS + 'RageVal']; Data.PhysicalAttackDamage *= OverCharge; Data.Crit2xChance = Skill(HS, 'Crit2xChance'); Data.Crit4xChance = Skill(HS, 'Crit4xChance'); Data.Crit8xChance = Skill(HS, 'Crit8xChance'); Data.Crit16xChance = Skill(HS, 'Crit16xChance'); Data.BleedChance = Skill(HS, 'BleedChance'); Data.BleedDuration = Skill(HS, 'BleedDuration'); Data.BleedDamagePcnt = Skill(HS, 'BleedDamagePcnt'); Data.StunChance = Skill(HS, 'StunChance'); Data.StunDuration = Skill(HS, 'StunDuration'); Data.CancelBlockChance = Skill(HS, 'CancelBlockChance'); Data.PhysicalArmorPenetration = Skill(HS, 'PhysicalArmorPenetration'); Data.EnergyShieldDamageFlat = Skill(HS, 'EnergyShieldDamageFlat') * OverCharge; Data.LifeStealPcnt = Skill(HS, 'LifeStealPcnt'); Data.HPGainOnHit = Skill(HS, 'HPGainOnHit') * OverCharge; Data.OverCharge = OverCharge; Data.ExecutionBelowPcnt = Skill(HS, 'ExecutionBelowPcnt'); Data.ExecutionDamageBonusPcnt = Skill(HS, 'ExecutionDamageBonusPcnt'); this[HS + 'MagicCharge'] += Skill(HS, 'MagicChargesOnAttack') * (1 + Overflow); if (HS == 'H' && RN(100) < Skill('H', 'GhostBlade')) { Data.GhostMode = true; } else { Data.GhostMode = false; } Data.GFX = 'Sword'; if (HS == 'S') { Data.GFX = 'Z_RedFX2'; } Data.Speed = 11; Data.Homing = 5; if (RN(100) < Skill(HS, 'EnchantedAttackChance')) { BasicMagic(HS, true, OverCharge - 1); Data.GFX = 'MagicSwordIcon'; if (HS == 'S') { Data.GFX = 'MagicSwordIconRed'; } } BA = 0; while (BA < FlurryCount) { T = this[Anti(HS)]; if (DecoyOut && RN(100) < Skill('H', 'SummonDecoy') && HS == 'S') { T = Decoy; Data.DecoyMode = true; } Attack(this[HS], T, Data); ++BA; } AttackAmount = 1 + Overflow; Chance = Skill(HS, 'RageChance') * 100 / 10000; FailChance = Math.pow(1 - Chance, AttackAmount) * 100; if (RN(100) > FailChance) { RageAmount = Skill(HS, 'RageDamageBonusFlat'); CompleteChance = Math.pow(Chance, AttackAmount) * 100; if (RN(100) < CompleteChance) { RageAmount *= AttackAmount; } else { RageAmount += RageAmount * (AttackAmount - 1) * Chance; } this[HS + 'RageVal'] += RageAmount; GraphicEffect('Z_AirCloud', {'A': spin, 'B': fadeOut, 'C': grow}, {'Ref': this[HS]}); } } function BasicMagic(HS, EnchantMode, Overflow) { if (Overflow == undefined) { Overflow = 0; } if (EnchantMode == undefined) { EnchantMode = false; } OverCharge = 1 + Overflow; if (EnchantMode != true) { Data = new Object(); Data.ArcMin = 75; Data.ArcMax = 75; CastCount = 1; C1 = Skill(HS, 'Cast5xChance'); M1 = 1; if (C1 > RN(100)) { M1 = 5; Data.ArcMin += 15; C1 -= 100; while (C1 > 0) { if (C1 > RN(100)) { ++M1; Data.ArcMin += 1; Data.ArcMax += 10; } C1 -= 100; } } C2 = Skill(HS, 'Cast25xChance'); M2 = 1; if (C2 > RN(100)) { M2 = 25; Data.ArcMin += 15; C2 -= 100; while (C2 > 0) { if (C2 > RN(100)) { M2 += 2; Data.ArcMin += 1; Data.ArcMax += 10; } C2 -= 100; } } if (_global.MultifireCondense == 1) { if (M2 >= 25) { OverCharge *= M2; M2 = 1; } else { if (M1 >= 5) { OverCharge *= M1; M1 = 1; } } } CastCount = M1 * M2; if (_global.MultifireCondense == 2) { OverCharge *= CastCount; CastCount = 1; } Data.OverCharge = OverCharge; } Data.MagicDamage = Skill(HS, 'MagicDamage') * (100 + this[HS + 'CascadeVal']) / 100; if (HS == 'H') { Data.MagicDamage -= 5 * Skill('H', 'GuardianPower'); Data.MagicDamage += 10 * Skill('H', 'CurseOfMagic'); } Data.MagicDamage *= OverCharge; if (HS == 'H') { Data.MagicDamage += Data.MagicDamage * Skill('H', 'DestructiveMagic') / 100; } Data.CancelEvadeChance = Skill(HS, 'CancelEvadeChance'); Data.EnergyShieldDamagePcnt = Skill(HS, 'EnergyShieldDamagePcnt'); Data.ArmorDamageFlat = Skill(HS, 'ArmorDamageFlat') * OverCharge; Data.IgniteChance = Skill(HS, 'IgniteChance'); Data.IgniteDamage = Skill(HS, 'IgniteDamage'); Data.AcidChance = Skill(HS, 'AcidChance'); Data.AcidDamage = Skill(HS, 'AcidDamage'); Data.FreezeChance = Skill(HS, 'FreezeChance'); Data.FreezeDuration = Skill(HS, 'FreezeDuration'); Data.ShockChance = Skill(HS, 'ShockChance'); Data.ShockDamageAmplifyPcnt = Skill(HS, 'ShockDamageAmplifyPcnt'); Data.BurnChance = Skill(HS, 'BurnChance'); Data.BurnDuration = Skill(HS, 'BurnDuration'); Data.FrostChance = Skill(HS, 'FrostChance'); Data.FrostAttackSpeedReduction = Skill(HS, 'FrostAttackSpeedReduction'); Data.PoisonChance = Skill(HS, 'PoisonChance'); Data.PoisonDuration = Skill(HS, 'PoisonDuration'); Data.PoisonDamagePcnt = Skill(HS, 'PoisonDamagePcnt'); Data.VoidChance = Skill(HS, 'VoidChance'); Data.VoidMHPReduction = Skill(HS, 'VoidMHPReduction'); Data.DirectDamage = Skill(HS, 'DirectDamage') * OverCharge; Data.SpellvampPcnt = Skill(HS, 'SpellvampPcnt'); Data.FlyMode = 'Arrow'; if (EnchantMode != true) { Data.GFX = 'Magic'; if (HS == 'S') { Data.GFX = 'RedMagic'; } Data.Speed = 14; Data.Homing = 7; BM = 0; while (BM < CastCount) { Attack(this[HS], this[Anti(HS)], Data); ++BM; } CastAmount = 1 + Overflow; Chance = Skill(HS, 'CascadeChance') * 100 / 10000; FailChance = Math.pow(1 - Chance, CastAmount) * 100; if (RN(100) > FailChance) { CascadeAmount = Skill(HS, 'CascadeDamageBonusPcnt'); CompleteChance = Math.pow(Chance, CastAmount) * 100; if (RN(100) < CompleteChance) { CascadeAmount *= CastAmount; } else { CascadeAmount += CascadeAmount * (CastAmount - 1) * Chance; } this[HS + 'CascadeVal'] += CascadeAmount; GraphicEffect('Z_ManaRestore1', {'A': spin, 'B': fadeOut, 'C': grow}, {'Ref': this[HS]}); } Chance = Skill(HS, 'HealChance') * 100 / 10000; FailChance = Math.pow(1 - Chance, CastAmount) * 100; if (RN(100) > FailChance) { HealAmount = Skill(HS, 'HealAmount'); CompleteChance = Math.pow(Chance, CastAmount) * 100; if (RN(100) < CompleteChance) { HealAmount *= CastAmount; } else { HealAmount += HealAmount * (CastAmount - 1) * Chance; } CombatText('Healing', this[HS], HealAmount); this[HS + 'HP'] += HealAmount; } } } function SkillChance(HS, SkillName) { return RN(100) <= Skill(HS, SkillName); } function Attack(Self, Target, Data) { GFX = Data.GFX; if (Data.GFX == undefined) { GFX = 'Sword'; } var Missile = this.attachMovie(GFX, 'atk' + _global.Depth, _global.Depth); ++_global.Depth; Missile._x = Self._x; Missile._y = Self._y; if (Data.Origin != undefined) { Missile._x = Data.Origin._x; Missile._y = Data.Origin._y; } Scale = Data.OverCharge; if (Scale == undefined) { Scale = 0; } if (Scale > 400) { Scale = 400; } Missile._yscale = Scale / 8 + 125; Missile._xscale = Missile._yscale; Missile.Owner = Self; Missile.Target = Target; if (Data.PhysicalAttackDamage == undefined) { Missile.PhysicalAttackDamage = 0; } else { Missile.PhysicalAttackDamage = Data.PhysicalAttackDamage; } if (Data.Crit2xChance == undefined) { Missile.Crit2xChance = 0; } else { Missile.Crit2xChance = Data.Crit2xChance; } if (Data.Crit4xChance == undefined) { Missile.Crit4xChance = 0; } else { Missile.Crit4xChance = Data.Crit4xChance; } if (Data.Crit8xChance == undefined) { Missile.Crit8xChance = 0; } else { Missile.Crit8xChance = Data.Crit8xChance; } if (Data.Crit16xChance == undefined) { Missile.Crit16xChance = 0; } else { Missile.Crit16xChance = Data.Crit16xChance; } if (Data.BleedChance == undefined) { Missile.BleedChance = 0; } else { Missile.BleedChance = Data.BleedChance; } if (Data.BleedDuration == undefined) { Missile.BleedDuration = 0; } else { Missile.BleedDuration = Data.BleedDuration; } if (Data.BleedDamagePcnt == undefined) { Missile.BleedDamagePcnt = 0; } else { Missile.BleedDamagePcnt = Data.BleedDamagePcnt; } if (Data.StunChance == undefined) { Missile.StunChance = 0; } else { Missile.StunChance = Data.StunChance; } if (Data.StunDuration == undefined) { Missile.StunDuration = 0; } else { Missile.StunDuration = Data.StunDuration; } if (Data.CancelBlockChance == undefined) { Missile.CancelBlockChance = 0; } else { Missile.CancelBlockChance = Data.CancelBlockChance; } if (Data.PhysicalArmorPenetration == undefined) { Missile.PhysicalArmorPenetration = 0; } else { Missile.PhysicalArmorPenetration = Data.PhysicalArmorPenetration; } if (Data.EnergyShieldDamageFlat == undefined) { Missile.EnergyShieldDamageFlat = 0; } else { Missile.EnergyShieldDamageFlat = Data.EnergyShieldDamageFlat; } if (Data.LifeStealPcnt == undefined) { Missile.LifeStealPcnt = 0; } else { Missile.LifeStealPcnt = Data.LifeStealPcnt; } if (Data.HPGainOnHit == undefined) { Missile.HPGainOnHit = 0; } else { Missile.HPGainOnHit = Data.HPGainOnHit; } if (Data.ExecutionBelowPcnt == undefined) { Missile.ExecutionBelowPcnt = 0; } else { Missile.ExecutionBelowPcnt = Data.ExecutionBelowPcnt; } if (Data.ExecutionDamageBonusPcnt == undefined) { Missile.ExecutionDamageBonusPcnt = 0; } else { Missile.ExecutionDamageBonusPcnt = Data.ExecutionDamageBonusPcnt; } if (Data.MagicChargesOnHit == undefined) { Missile.MagicChargesOnHit = 0; } else { Missile.MagicChargesOnHit = Data.MagicChargesOnHit; } if (Data.MagicDamage == undefined) { Missile.MagicDamage = 0; } else { Missile.MagicDamage = Data.MagicDamage; } if (Data.CancelEvadeChance == undefined) { Missile.CancelEvadeChance = 0; } else { Missile.CancelEvadeChance = Data.CancelEvadeChance; } if (Data.EnergyShieldDamagePcnt == undefined) { Missile.EnergyShieldDamagePcnt = 0; } else { Missile.EnergyShieldDamagePcnt = Data.EnergyShieldDamagePcnt; } if (Data.ArmorDamageFlat == undefined) { Missile.ArmorDamageFlat = 0; } else { Missile.ArmorDamageFlat = Data.ArmorDamageFlat; } if (Data.IgniteChance == undefined) { Missile.IgniteChance = 0; } else { Missile.IgniteChance = Data.IgniteChance; } if (Data.IgniteDamage == undefined) { Missile.IgniteDamage = 0; } else { Missile.IgniteDamage = Data.IgniteDamage; } if (Data.AcidChance == undefined) { Missile.AcidChance = 0; } else { Missile.AcidChance = Data.AcidChance; } if (Data.AcidDamage == undefined) { Missile.AcidDamage = 0; } else { Missile.AcidDamage = Data.AcidDamage; } if (Data.FreezeChance == undefined) { Missile.FreezeChance = 0; } else { Missile.FreezeChance = Data.FreezeChance; } if (Data.FreezeDuration == undefined) { Missile.FreezeDuration = 0; } else { Missile.FreezeDuration = Data.FreezeDuration; } if (Data.ShockChance == undefined) { Missile.ShockChance = 0; } else { Missile.ShockChance = Data.ShockChance; } if (Data.ShockDamageAmplifyPcnt == undefined) { Missile.ShockDamageAmplifyPcnt = 0; } else { Missile.ShockDamageAmplifyPcnt = Data.ShockDamageAmplifyPcnt; } if (Data.BurnChance == undefined) { Missile.BurnChance = 0; } else { Missile.BurnChance = Data.BurnChance; } if (Data.BurnDuration == undefined) { Missile.BurnDuration = 0; } else { Missile.BurnDuration = Data.BurnDuration; } if (Data.FrostChance == undefined) { Missile.FrostChance = 0; } else { Missile.FrostChance = Data.FrostChance; } if (Data.FrostAttackSpeedReduction == undefined) { Missile.FrostAttackSpeedReduction = 0; } else { Missile.FrostAttackSpeedReduction = Data.FrostAttackSpeedReduction; } if (Data.PoisonChance == undefined) { Missile.PoisonChance = 0; } else { Missile.PoisonChance = Data.PoisonChance; } if (Data.PoisonDuration == undefined) { Missile.PoisonDuration = 0; } else { Missile.PoisonDuration = Data.PoisonDuration; } if (Data.PoisonDamagePcnt == undefined) { Missile.PoisonDamagePcnt = 0; } else { Missile.PoisonDamagePcnt = Data.PoisonDamagePcnt; } if (Data.VoidChance == undefined) { Missile.VoidChance = 0; } else { Missile.VoidChance = Data.VoidChance; } if (Data.VoidMHPReduction == undefined) { Missile.VoidMHPReduction = 0; } else { Missile.VoidMHPReduction = Data.VoidMHPReduction; } if (Data.DirectDamage == undefined) { Missile.DirectDamage = 0; } else { Missile.DirectDamage = Data.DirectDamage; } if (Data.SpellvampPcnt == undefined) { Missile.SpellvampPcnt = 0; } else { Missile.SpellvampPcnt = Data.SpellvampPcnt; } if (Data.StatusPower == undefined) { Missile.StatusPower = 0; } else { Missile.StatusPower = Data.StatusPower; } if (Missile.Owner.Name == 'H') { Smite = (100 + Skill('H', 'SmiteDamage')) / 100; if (Time > 24) { Smite = 1; } Glass = (100 + Skill('H', 'GlassCannon')) / 100; Missile.PhysicalAttackDamage *= Smite * Glass; Missile.MagicDamage *= Smite * Glass; if (RN(500) < Skill('H', 'Luck')) { Missile.CancelBlockChance = 100; Missile.CancelEvadeChance = 100; } } Missile.BreakArmor = Data.BreakArmor; if (Missile.BreakArmor == undefined) { Missile.BreakArmor = 0; } Missile.DirectDamage = Data.DirectDamage; if (Missile.DirectDamage == undefined) { Missile.DirectDamage = 0; } Missile.GoldOnHit = Data.GoldOnHit; if (Missile.GoldOnHit == undefined) { Missile.GoldOnHit = 0; } Missile.FlyMode = Data.FlyMode; if (Missile.FlyMode == undefined) { Missile.FlyMode = 'Normal'; } Missile.GhostMode = Data.GhostMode; if (Missile.GhostMode == undefined) { Missile.GhostMode = false; } if (Missile.GhostMode == true) { Missile._alpha = 60; Missile.PhysicalAttackDamage = Data.PhysicalAttackDamage; Missile.Crit2xChance /= 2; Missile.Crit4xChance /= 4; Missile.Crit8xChance /= 8; Missile.Crit16xChance /= 16; } Missile.DecoyMode = Data.DecoyMode; if (Missile.DecoyMode == undefined) { Missile.DecoyMode = false; } Missile.OverCharge = Data.OverCharge; if (Missile.OverCharge == undefined) { Missile.OverCharge = 1; } Missile.Speed = Data.Speed + RN(1); Missile.Homing = Data.Homing + RN(1); Missile._rotation = RN(Data.ArcMax, Data.ArcMin); if (RN(100) < 50) { Missile._rotation *= -1; } Missile.RotationSave = Missile._rotation; Missile.SpinVal = -Missile._rotation / 2; if (Missile.SpinVal > 0) { Missile.SpinVal += 5; } else { Missile.SpinVal -= 5; } Missile.Time = 0; Missile.StageCreated = CurrentStage; Missile.onEnterFrame = function () { if (_global.TitleScreen == true) { this.removeMovieClip(); } if (_global.GamePause != true) { if (this.FlyMode == 'Normal') { TempRot = this._rotation; this._rotation = this.RotationSave; homing(this, this.Target, this.Homing); run(this); this.RotationSave = this._rotation; this._rotation = TempRot + this.SpinVal; } else { if (this.FlyMode == 'Arrow') { homing(this, this.Target, this.Homing); run(this); } } ++this.Time; if (this.Time > 25) { this.Homing += 0.1; } if (this.Time > 100) { this._alpha -= 10; this.Speed *= 0.9; } if (this._alpha < 10) { this.removeMovieClip(); } else { if (getDist(this, this.Target) < 10) { if (this.DecoyMode != true) { if (_global.SpiderShield) { if (TIMEREMAINING <= 0 || this.Target.Name == 'H') { AttackDamage(this, this.Target); } } else { if (Missile.StageCreated == CurrentStage || this.Target.Name == 'S' || SpiderMode == 1) { AttackDamage(this, this.Target); } } } this.removeMovieClip(); } } } }; } function AttackDamage(Missile, Target) { StatusPowerEffect = 1 - Missile.StatusPower / 100; TargetID = Target.Name; if (Target.Name == 'S') { SpiderScale = 100 / (100 + CurrentStage); } else { SpiderScale = 100 / (100 + Skill('H', 'DamageResist')); } OwnerID = Missile.Owner.Name; InitialDamage = Missile.PhysicalAttackDamage; Damage = InitialDamage; MinimumDamage = Math.ceil(Damage / 20); if (TargetID == 'H') { MinimumDamage -= Skill('H', 'Protection') * Missile.OverCharge; } if (MinimumDamage < 0) { MinimumDamage = 0; } if (TargetID == 'H' && HES > 0) { DivShield = Skill('H', 'DivineShield') * Missile.OverCharge; if (DivShield > HES) { DivShield = HES; } Damage -= DivShield; } if (OwnerID == 'H' && SArmor > 0) { Damage *= (100 + Skill('H', 'Conviction')) / 100; } this[TargetID + 'Armor'] *= (100 - Missile.BreakArmor) / 100; if (this[TargetID + 'Armor'] < 0) { this[TargetID + 'Armor'] = 0; } if (Missile.GoldOnHit > 0) { DropGold(Target, Missile.GoldOnHit); } Chance = Missile.BleedChance * (100 - Skill(TargetID, 'PoisonBleedResistChance') * StatusPowerEffect) / 10000; FailChance = Math.pow(1 - Chance, Missile.OverCharge) * 100; if (RN(100) > FailChance && (this[TargetID + 'Armor'] <= 0 || Missile.GhostMode == true)) { if (this[TargetID + 'BleedPrevent'] > 0) { } else { ++this['StatusAilments' + TargetID]; if (this[TargetID + 'BleedVal'] <= 0) { CombatText('StatusEffect', Target, 'Bleed!'); } if (this[TargetID + 'BleedVal'] < 25 + Missile.BleedDuration) { this[TargetID + 'BleedVal'] = 25 + Missile.BleedDuration; } if (this[TargetID + 'BleedVal2'] < 1 + Missile.BleedDamagePcnt) { this[TargetID + 'BleedVal2'] = 1 + Missile.BleedDamagePcnt; } } } Chance = Missile.StunChance * (100 - Skill(TargetID, 'StunFreezeResistChance') * StatusPowerEffect) / 10000; FailChance = Math.pow(1 - Chance, Missile.OverCharge) * 100; if (RN(100) > FailChance && this[TargetID + 'StunBreak'] <= 0) { if (this[TargetID + 'StunPrevent'] > 0) { } else { ++this['StatusAilments' + TargetID]; if (this[TargetID + 'StunVal'] <= 0) { CombatText('StatusEffect', Target, 'Stun!'); } if (this[TargetID + 'StunVal'] < 25 + Missile.StunDuration) { this[TargetID + 'StunVal'] = 25 + Missile.StunDuration; } } } if (this[TargetID + 'ES'] >= 1 && Missile.EnergyShieldDamageFlat > 0) { ESD = Missile.EnergyShieldDamageFlat; if (ESD > this[TargetID + 'ES']) { ESD = Math.floor(this[TargetID + 'ES']); } this[TargetID + 'FlareType'] = 'ES'; InflictDamage('ES', ESD, Target); } this[TargetID + 'HP'] -= Missile.DirectDamage; if (this[TargetID + 'HP'] < this[TargetID + 'MaxHP'] * Missile.ExecutionBelowPcnt / 100) { Damage += Damage * Missile.ExecutionDamageBonusPcnt / 100; } CritEnhance = Skill(OwnerID, 'CritDamageEnhancement'); CritChanceResist = Skill(TargetID, 'CritChanceResist'); CritDamageResist = Skill(TargetID, 'CritDamageResist'); if (RN(100 + CritChanceResist) <= Missile.Crit2xChance) { Damage *= (200 + CritEnhance) / (100 + CritDamageResist); } if (RN(100 + CritChanceResist) <= Missile.Crit4xChance) { Damage *= (400 + CritEnhance) / (100 + CritDamageResist); } if (RN(100 + CritChanceResist) <= Missile.Crit8xChance) { Damage *= (800 + CritEnhance) / (100 + CritDamageResist); } if (RN(100 + CritChanceResist) <= Missile.Crit16xChance) { Damage *= (1600 + CritEnhance) / (100 + CritDamageResist); } if (this[TargetID + 'ShockVal2'] > 0) { Damage *= 1 + this[TargetID + 'ShockVal2'] / 100; } this['PhysicalAttack' + OwnerID] += Damage; MinimumDamage = Math.ceil(Damage / 20); if (Missile.PhysicalAttackDamage > 0 && SkillChance(TargetID, 'BlockChance') && RN(100) > Missile.CancelBlockChance) { GraphicEffect('Shield', {'A': grow, 'B': fadeOut}, {'_x': Target._x, '_y': Target._y}); Damage *= (100 - Skill(TargetID, 'BlockAmountPcnt')) / 100; Damage -= Skill(TargetID, 'BlockAmountFlat'); if (Damage < MinimumDamage) { Damage = MinimumDamage; } } Damage *= (100 - Skill(TargetID, 'PhysicalDamageReductionPcnt') * 100 / (100 + Missile.PhysicalArmorPenetration / 10)) / 100; ArmorCalc = Skill(TargetID, 'PhysicalDamageReductionFlat') * Missile.OverCharge - Missile.PhysicalArmorPenetration; if (ArmorCalc < 0) { PenPower = Math.abs(ArmorCalc); ArmorCalc = 0; Damage *= 1 + PenPower / 100; } Damage -= ArmorCalc; if (Damage < MinimumDamage) { Damage = MinimumDamage; } Damage *= SpiderScale; if (Missile.PhysicalAttackDamage > 0 && Skill(TargetID, 'PhysicalReflectFlat') > 0 && this[TargetID + 'HP'] > 0) { Reflect = Skill(TargetID, 'PhysicalReflectFlat') * (1 + Skill(TargetID, 'ReflectBonus') / 100) * Missile.OverCharge; InflictDamage('All', Reflect, this[OwnerID]); this[TargetID + 'FlareType'] = ''; CombatText('PhysicalDamage', this[OwnerID], Math.floor(Reflect)); } if (this[OwnerID + 'BurnVal'] <= 0) { this[OwnerID + 'HP'] += Damage * Missile.LifeStealPcnt / 100; this[OwnerID + 'HP'] += Missile.HPGainOnHit; } else { if (OwnerID == 'H') { BM = Skill('H', 'BlackMirror') / 100; D1 = BM * Damage * Missile.LifeStealPcnt / 100; D2 = BM * Missile.HPGainOnHit; InflictDamage('All', D1 + D2, TargetID); } } if (InitialDamage > 0) { if (this[TargetID + 'HP'] > 0) { this[TargetID + 'AttackCharge'] += Skill(TargetID, 'CounterAttack') * Missile.OverCharge; } if (Missile.GhostMode != true) { InflictDamage('All', Damage, Target); } else { InflictDamage('HP', Damage, Target); } CombatText('PhysicalDamage', Target, Math.ceil(Damage)); } InitialDamage = Missile.MagicDamage; Damage = InitialDamage; MinimumDamage = Math.ceil(Damage / 20); Damage -= Skill(TargetID, 'MagicDamageReductionFlat') * Missile.OverCharge; Damage *= (100 - Skill(TargetID, 'MagicDamageReductionPcnt')) / 100; if (TargetID == 'H' && HES < Damage && HArmor > 0) { Damage -= Skill('H', 'DivineArmor') * Missile.OverCharge; } if (Damage < MinimumDamage) { Damage = MinimumDamage; } Damage *= SpiderScale; SpellShieldBlock = false; if (TargetID == 'H') { if (RN(100) < Skill('H', 'SpellShield')) { SpellShieldBlock = true; } } if (Missile.MagicDamage > 0 && SkillChance(TargetID, 'EvadeChance') && RN(100) > Missile.CancelEvadeChance) { CombatText('StatusEffect', Target, 'Evade!'); Damage = 0; } else { if (SpellShieldBlock == true) { Damage = 0; } else { if (this[TargetID + 'ShockVal2'] > 0) { Damage *= 1 + this[TargetID + 'ShockVal2'] / 100; } if (Missile.SpellvampPcnt != 0 && Missile.MagicDamage > 0) { this[OwnerID + 'HP'] += InitialDamage * Missile.SpellvampPcnt / 100; } this['MagicAttack' + OwnerID] += Damage; if (Missile.MagicDamage > 0 && Skill(TargetID, 'MagicReflectPcnt') > 0 && this[TargetID + 'HP'] > 0) { ReflectAmount = Missile.MagicDamage * (Skill(TargetID, 'MagicReflectPcnt') / 100); ReflectAmount += Skill(TargetID, 'ReflectBonus') * 5; InflictDamage('All', ReflectAmount, this[OwnerID]); CombatText('MagicDamage', this[OwnerID], Math.floor(ReflectAmount)); } if (this[TargetID + 'ES'] > 0) { this[TargetID + 'ES'] -= this[TargetID + 'MaxES'] * Missile.EnergyShieldDamagePcnt / 100; } if (this[TargetID + 'ES'] < 0) { this[TargetID + 'ES'] = 0; } Chance = Missile.IgniteChance * 100 / 10000; FailChance = Math.pow(1 - Chance, Missile.OverCharge) * 100; if (RN(100) > FailChance) { if (this[TargetID + 'IgnitePrevent'] > 0) { } else { if (SkillChance(TargetID, 'IgniteAcidResistChance') * StatusPowerEffect) { Missile.IgniteDamage /= 5; } ++this['StatusAilments' + TargetID]; if (this[TargetID + 'IgniteVal'] <= 0) { CombatText('StatusEffect', Target, 'Ignite!'); } this[TargetID + 'IgniteVal'] = 100; IgniteDMG = (50 + Missile.IgniteDamage) * StageScale; if (this[TargetID + 'IgniteVal2'] < IgniteDMG) { this[TargetID + 'IgniteVal2'] = IgniteDMG; } } } Chance = Missile.AcidChance * 100 / 10000; FailChance = Math.pow(1 - Chance, Missile.OverCharge) * 100; if (RN(100) > FailChance) { CompleteChance = Math.pow(Chance, Missile.OverCharge) * 100; if (RN(100) < CompleteChance) { Missile.AcidDamage *= Missile.OverCharge; } else { Missile.AcidDamage += Missile.AcidDamage * (Missile.OverCharge - 1) * Missile.AcidChance / 100; } if (this[TargetID + 'AcidPrevent'] > 0) { } else { if (SkillChance(TargetID, 'IgniteAcidResistChance') * StatusPowerEffect) { Missile.AcidDamage /= 5; } ++this['StatusAilments' + TargetID]; if (this[TargetID + 'AcidVal'] <= 0) { CombatText('StatusEffect', Target, 'Acid!'); } this[TargetID + 'AcidVal'] = 100; this[TargetID + 'AcidVal2'] += Missile.AcidDamage; } } Chance = Missile.FreezeChance * (100 - Skill(TargetID, 'StunFreezeResistChance')) / 10000; FailChance = Math.pow(1 - Chance, Missile.OverCharge) * 100; if (RN(100) > FailChance && this[TargetID + 'StunBreak'] <= 0) { if (this[TargetID + 'FreezePrevent'] > 0) { } else { ++this['StatusAilments' + TargetID]; if (this[TargetID + 'FreezeVal'] <= 0) { CombatText('StatusEffect', Target, 'Freeze!'); } if (this[TargetID + 'FreezeVal'] < 25 + Missile.FreezeDuration) { this[TargetID + 'FreezeVal'] = 25 + Missile.FreezeDuration; } } } Chance = Missile.ShockChance * (100 - Skill(TargetID, 'BurnShockResistChance') * StatusPowerEffect) / 10000; FailChance = Math.pow(1 - Chance, Missile.OverCharge) * 100; if (RN(100) > FailChance) { if (this[TargetID + 'ShockPrevent'] > 0) { } else { ++this['StatusAilments' + TargetID]; if (this[TargetID + 'ShockVal'] <= 0) { CombatText('StatusEffect', Target, 'Shock!'); } this[TargetID + 'ShockVal'] = 100; if (this[TargetID + 'ShockVal2'] < Missile.ShockDamageAmplifyPcnt) { this[TargetID + 'ShockVal2'] = Missile.ShockDamageAmplifyPcnt; } } } Chance = Missile.BurnChance * (100 - Skill(TargetID, 'BurnShockResistChance') * StatusPowerEffect) / 10000; FailChance = Math.pow(1 - Chance, Missile.OverCharge) * 100; if (RN(100) > FailChance) { if (this[TargetID + 'BurnPrevent'] > 0) { } else { ++this['StatusAilments' + TargetID]; if (this[TargetID + 'BurnVal'] <= 0) { CombatText('StatusEffect', Target, 'Burn!'); } if (this[TargetID + 'BurnVal'] < 25 + Missile.BurnDuration) { this[TargetID + 'BurnVal'] = 25 + Missile.BurnDuration; } } } Chance = Missile.FrostChance * 100 / 10000; FailChance = Math.pow(1 - Chance, Missile.OverCharge) * 100; if (RN(100) > FailChance) { if (this[TargetID + 'FrostPrevent'] > 0) { } else { ++this['StatusAilments' + TargetID]; if (this[TargetID + 'FrostVal'] <= 0) { CombatText('StatusEffect', Target, 'Frost!'); } this[TargetID + 'FrostVal'] = 100; if (this[TargetID + 'FrostVal2'] < Missile.FrostAttackSpeedReduction) { this[TargetID + 'FrostVal2'] = Missile.FrostAttackSpeedReduction; } } } Chance = Missile.PoisonChance * (100 - SkillChance(TargetID, 'PoisonBleedResistChance') * StatusPowerEffect) / 10000; FailChance = Math.pow(1 - Chance, Missile.OverCharge) * 100; if (RN(100) > FailChance) { if (this[TargetID + 'PoisonPrevent'] > 0) { } else { ++this['StatusAilments' + TargetID]; if (this[TargetID + 'PoisonVal'] <= 0) { CombatText('StatusEffect', Target, 'Poison!'); } if (this[TargetID + 'PoisonVal'] < 25 + Missile.PoisonDuration) { this[TargetID + 'PoisonVal'] = 25 + Missile.PoisonDuration; } if (this[TargetID + 'PoisonVal2'] < 1 + Missile.PoisonDamagePcnt) { this[TargetID + 'PoisonVal2'] = 1 + Missile.PoisonDamagePcnt; } } } Chance = Missile.VoidChance * 100 / 10000; FailChance = Math.pow(1 - Chance, Missile.OverCharge) * 100; if (RN(100) > FailChance) { CompleteChance = Math.pow(Chance, Missile.OverCharge) * 100; if (RN(100) < CompleteChance) { Missile.VoidMHPReduction *= Missile.OverCharge; } else { Missile.VoidMHPReduction += Missile.VoidMHPReduction * (Missile.OverCharge - 1) * Missile.VoidChance / 100; } if (this[TargetID + 'VoidPrevent'] > 0) { } else { if (SkillChance(TargetID, 'VoidResistChance') * StatusPowerEffect) { Missile.VoidMHPReduction /= 2; } ++this['StatusAilments' + TargetID]; if (VoidFrame != true) { GraphicEffect('Z_BlackFX1', {'A': spin, 'B': fadeOut, 'C': shrink}, {'Ref': Target, 'Shrink': 20, '_rotation': Time}); VoidFrame = true; } if (this[TargetID + 'VoidVal'] <= 0) { CombatText('StatusEffect', Target, 'Void!'); } this[TargetID + 'VoidVal'] += Missile.VoidMHPReduction; if (OwnerID == 'H') { HeroVamp = Skill('H', 'Statusvamp'); HMaxHPBuff += Missile.VoidMHPReduction * HeroVamp / 100; } } } if (this[TargetID + 'Armor'] >= 1 && Missile.ArmorDamageFlat > 0) { ArmorD = Missile.ArmorDamageFlat; if (ArmorD > this[TargetID + 'Armor']) { ArmorD = Math.floor(this[TargetID + 'Armor']); } InflictDamage('Armor', Missile.ArmorDamageFlat, Target); } if (InitialDamage > 0) { CombatText('MagicDamage', Target, Math.ceil(Damage)); InflictDamage('All', Damage, Target); } if (Damage > 0 && TargetID == 'H') { HES += Skill('H', 'MagicEnergyShield'); if (HES > HMaxES) { HES = HMaxES; } } } } } function RefreshStats() { TotalDamage_H.text = BigNumber(TotalDamageH) + ' Damage Taken'; TotalDamage_S.text = BigNumber(TotalDamageS) + ' Damage Taken'; StatusAilments_H.text = BigNumber(StatusAilmentsH) + ' Status Ailments'; StatusAilments_S.text = BigNumber(StatusAilmentsS) + ' Status Ailments'; PhysicalAttack_H.text = BigNumber(PhysicalAttackH) + ' Physical Attack'; PhysicalAttack_S.text = BigNumber(PhysicalAttackS) + ' Physical Attack'; MagicAttack_H.text = BigNumber(MagicAttackH) + ' Magic Attack'; MagicAttack_S.text = BigNumber(MagicAttackS) + ' Magic Attack'; TotalStars_H.text = BigNumber(TotalStars) + ' Total Stars'; TotalGold_H.text = BigNumber(TotalGold) + ' Total Gold'; } function InflictDamage(Type, Amount, Target) { DamageTarget = Target.Name; if (DamageTarget == 'H') { Barrier = Skill('H', 'Barrier'); if (Time < 96) { Amount *= (100 - Barrier) / 100; } TotalDamageH += Amount; } if (DamageTarget == 'S') { Amount *= (100 - _global.SpiderDefenseBonus) / 100; TotalDamageS += Amount; } if (this[DamageTarget + 'ES'] < 0) { this[DamageTarget + 'ES'] = 0; } if (this[DamageTarget + 'Armor'] < 0) { this[DamageTarget + 'Armor'] = 0; } this[DamageTarget + 'FlareType'] = 'ES'; if (Type == 'All') { if (DamageTarget == 'H') { EnchantES = Skill('H', 'EnchantedEnergyShield'); if (EnchantES > 0) { X = 0; if (HES >= Amount) { X = Amount; } else { X = HES; } Y = X * EnchantES / 100; MaxEnchantES = 1000 * StageScale; if (Y + EnchantedESAmount > MaxEnchantES) { Y = MaxEnchantES - EnchantedESAmount; } EnchantedESAmount += Y; HMagicCharge += Y; } } this[DamageTarget + 'ES'] -= Amount; if (this[DamageTarget + 'ES'] < 0) { this[DamageTarget + 'FlareType'] = 'Armor'; this[DamageTarget + 'Armor'] += this[DamageTarget + 'ES']; this[DamageTarget + 'ES'] = 0; } if (this[DamageTarget + 'Armor'] < 0) { this[DamageTarget + 'FlareType'] = 'HP'; this[DamageTarget + 'HP'] += this[DamageTarget + 'Armor']; this[DamageTarget + 'Armor'] = 0; } } if (Type == 'HP') { this[DamageTarget + 'HP'] -= Amount; } if (Type == 'Armor') { this[DamageTarget + 'Armor'] -= Amount; if (this[DamageTarget + 'Armor'] < 0) { this[DamageTarget + 'Armor'] = 0; } } if (Type == 'ES') { this[DamageTarget + 'ES'] -= Amount; if (this[DamageTarget + 'ES'] < 0) { this[DamageTarget + 'ES'] = 0; } } } function CombatText(Type, Target, Text) { if (_global.DamageNumbers == true) { var v3 = this.attachMovie(Type + 'Text', 'cText' + _global.Depth, _global.Depth); ++_global.Depth; v3._x = Target._x - 250 + RN(500); v3._y = Target._y - 50 + RN(100); if (Target == H) { v3._x = Target._x - 50 + RN(100); v3._y = Target._y - 25 + RN(40); } v3.Life = 40; v3.DT.text = Text; v3.Rise = RN(1) / 2; v3._xscale = 80 + Text.length * 5; v3._yscale = 80 + Text.length * 5; v3.Type = this[Target.Name + 'FlareType']; v3.onEnterFrame = function () { if (_global.TitleScreen == true) { this.removeMovieClip(); } if (_global.GamePause != true) { this._y -= 0.75 + this.Rise; --this.Life; if (this.Life < 10) { this._alpha -= 9; } if (this.Life < 0) { this.removeMovieClip(); } } }; } } function ImportantText(Type, Target, Text) { var v3 = this.attachMovie(Type + 'Text', 'cText' + _global.Depth, _global.Depth + 2140000); ++_global.Depth; v3._x = Target._x - 2 + RN(1); v3._y = Target._y - 10 + RN(2); v3.Life = 50; v3.DT.text = Text; v3.onEnterFrame = function () { if (_global.TitleScreen == true) { this.removeMovieClip(); } if (_global.GamePause != true) { this._y -= 1.25; --this.Life; if (this.Life < 10) { this._alpha -= 10; } if (this.Life < 0) { this.removeMovieClip(); } } }; } function Skill(HS, SkillName, Buff) { if (Buff == undefined) { Buff = 0; } if (GhostFlag == true && HS == 'S') { HS2 = 'H'; } else { HS2 = HS; } TotalLevels = this[HS + '_' + SkillName].SkillLevel; SkillCalc = this[HS2 + '_' + SkillName].BaseValue; if (TotalLevels == undefined) { TotalLevels = 0; } else { TotalLevels += Buff; } if (SkillCalc == undefined) { SkillCalc = 0; } else { if (HS2 == 'H' && this[HS2 + '_' + SkillName].Decay == true) { if (SkillName == ClassSkill1 || SkillName == ClassSkill2 || SkillName == ClassSkill3) { SkillPower = 1; } else { SkillPower = 0.8; } while (TotalLevels > 0) { Value100 = TotalLevels; if (Value100 > 100) { Value100 = 100; } TotalLevels -= Value100; SkillCalc += this[HS2 + '_' + SkillName].AmountPerLevel * Value100 * SkillPower / 2; SkillPower /= 2; } } else { SkillCalc += this[HS2 + '_' + SkillName].AmountPerLevel * TotalLevels; } if (HS2 == 'S' && this[HS2 + '_' + SkillName].Max != undefined) { if (SkillCalc > this[HS2 + '_' + SkillName].Max) { SkillCalc = this[HS2 + '_' + SkillName].Max; } } SkillCalc = Math.ceil(SkillCalc * 100 - 0.001) / 100; } if (GhostFlag == true && HS == 'S' && SkillName == 'MHP') { SkillCalc += CurrentStage * CurrentStage * 10; } if (GhostFlag == true && HS == 'S' && SkillName == 'ArmorValue') { SkillCalc += CurrentStage * CurrentStage; } if (SkillCalc == undefined) { SkillCalc = 0; } return SkillCalc; } function SkillCostRoll(Category, LevelAmount) { if (LevelAmount == undefined) { LevelAmount = 1; } this[Category + 'Total'] += LevelAmount; TotalSkills = this.HeroSkill.length; scr = 0; while (scr < TotalSkills) { SkillID = this.HeroSkill[scr]; SkillType = this['H_' + SkillID].Type; if (SkillType == Category) { CategoryTotal = this[Category + 'Total']; SkillLevel = this['H_' + SkillID].SkillLevel; if (SkillLevel > HighestSkill && TGS == false) { HighestSkill = SkillLevel; SharedObjectSave.data.HighestSkill = HighestSkill; } CurrentCost = this['H_' + SkillID].Cost; Entropy1 = RN(CategoryTotal / 15, -CategoryTotal / 25); if (Entropy1 > 30) { Entropy1 = 30; } if (Entropy1 < -30) { Entropy1 = -30; } Entropy2 = RN(6, -3); SkillCost = 100 + Entropy1 + Entropy2 + SkillLevel / 5 + CategoryTotal / 20; if (this['H_' + SkillID].Decay == true) { SkillCost += SkillLevel / 2; } if (SkillID == 'SkillCostReduction') { SkillCost += SkillLevel * 2; } if (SkillID == 'StarGainBonus') { SkillCost += SkillLevel; } if (SkillID == 'Star2xChance') { SkillCost += SkillLevel; } if (SkillID == 'ItemDestroyValueIncreaseFlat') { SkillCost += SkillLevel; } if (SkillID == ClassSkill1 || SkillID == ClassSkill2 || SkillID == ClassSkill3) { SkillCost -= SkillLevel / 20; SkillCost *= 0.75; } if (Category == 'Utility') { SkillCost *= (100 - Skill('H', 'UtilityCostReductionPcnt')) / 100; } if (RN(500) < Skill('H', 'Luck')) { SkillCost -= 25; } if (SkillCost < 50) { SkillCost = 50; } this['H_' + SkillID].Cost = Math.ceil((SkillCost + CurrentCost) / 2); if (this[Category + 'Total'] == 0) { this['H_' + SkillID].Cost = Math.floor(SkillCost); } } ++scr; } } function SkillCostRefresh() { --DefenseTotal; --AttackTotal; --MagicTotal; --UtilityTotal; SkillCostRoll('Defense'); SkillCostRoll('Attack'); SkillCostRoll('Magic'); SkillCostRoll('Utility'); } function Anti(Input) { ErrorCatch = 'Error'; if (Input == 'H') { return 'S'; } if (Input == 'S') { return 'H'; } return ErrorCatch; } function TogglePause() { if (_global.GameOver != true && _global.MenuOpen != true) { if (_global.GamePause != true) { PauseMC.gotoAndStop(1); _global.GamePause = true; } else { PauseMC.gotoAndStop(2); _global.GamePause = false; } } } function ManageHotkeys() { if (_global.GamePause != true) { PauseMC.gotoAndStop(1); } else { PauseMC.gotoAndStop(2); } if (Key.isDown(32)) { if (PressSpace == false) { TogglePause(); } PressSpace = true; } else { PressSpace = false; } if (Key.isDown(71)) { if (PressG == false && SpiderMode == 1) { SpiderTime = 124; } PressG = true; } else { PressG = false; } if (_global.GamePause != true && SpiderMode != 1) { if (Key.isDown(49)) { if (Press1 == false) { UseItem(ACTIVEITEM1.ID, ACTIVEITEM1.ItemID); } Press1 = true; } else { Press1 = false; } if (Key.isDown(50)) { if (Press2 == false) { UseItem(ACTIVEITEM2.ID, ACTIVEITEM2.ItemID); } Press2 = true; } else { Press2 = false; } if (Key.isDown(51)) { if (Press3 == false) { UseItem(ACTIVEITEM3.ID, ACTIVEITEM3.ItemID); } Press3 = true; } else { Press3 = false; } if (Key.isDown(52)) { if (Press4 == false) { UseItem(ACTIVEITEM4.ID, ACTIVEITEM4.ItemID); } Press4 = true; } else { Press4 = false; } } } function ContinueGame() { S.removeMovieClip(); _global.GamePaused = false; _global.TitleScreen = true; this.gotoAndStop(2); } function ManageGameTime() { if (_global.TimeTrial == true || _global.SpiderShield) { if (_global.SpiderShield) { if (TIMEREMAINING > 0) { S.Shield._visible = true; } else { S.Shield._visible = false; } } if (_global.TimeTrial == true && TIMEREMAINING <= 0) { WarningMC.gotoAndStop(1); HHP = -999999999; GraphicEffect('Z_BlackFX3', {'A': spin, 'B': grow, 'C': fadeOut}, {'_x': S._x, '_y': S._y, 'Grow': 25 + CurrentStage / 10, 'Spin': 25 + CurrentStage / 50, 'Life': 25, 'FadeOut': 4, '_rotation': Time}); } if (SpiderMode != 1) { --TIMEREMAINING; } if (TIMEREMAINING < 0) { TIMEREMAINING = 0; } TR = Math.ceil(TIMEREMAINING / 24); Min = Math.floor(TR / 60); Sec = TR % 60; if (Sec < 10) { Sec = '0' + Sec; } GameTime_txt.text = Min + ':' + Sec; } else { GameTime_txt.text = ''; WarningMC._visible = false; } } function ManageHeroLevel() { HeroClass_txt.text = HeroClass; HeroLevel = DefenseTotal + AttackTotal + MagicTotal + UtilityTotal + SpecialTotal + EvilTotal + HolyTotal; HeroLevel_txt.text = 'Level: ' + HeroLevel; if (HeroLevel > BestHeroLevel) { BestHeroLevel = HeroLevel; SharedObjectSave.data.BestHeroLevel = HeroLevel; } } function NaNGate() { if (_global.StarCount == NaN) { _global.StarCount = 0; } if (_global.GoldCount == NaN) { _global.GoldCount = 0; } if (HHP == NaN) { HHP = 0; } if (HMaxHP == NaN) { HMaxHP = 0; } if (HArmor == NaN) { HArmor = 0; } if (HES == NaN) { HES = 0; } if (HMaxES == NaN) { HMaxES = 0; } i = 0; while (i < HeroSkill.length) { if (this['H_' + HeroSkill[i]].SkillLevel == NaN) { this['H_' + HeroSkill[i]].SkillLevel = 0; } ++i; } } function ManageInvincibleImmune() { if (GhostFlag == true || SpiderMode == 1) { SStunPrevent = 5; SFreezePrevent = 5; SBurnPrevent = 5; SBleedPrevent = 5; SShockPrevent = 5; SIgnitePrevent = 5; SAcidPrevent = 5; SVoidPrevent = 5; SFrostPrevent = 5; SPoisonPrevent = 5; SStunVal = 0; SFreezeVal = 0; SBurnVal = 0; SBleedVal = 0; SBleedVal2 = 0; SShockVal = 0; SShockVal2 = 0; SIgniteVal = 0; SIgniteVal2 = 0; SAcidVal = 0; SAcidVal2 = 0; SVoidVal = 0; SFrostVal = 0; SPoisonVal = 0; SPoisonVal2 = 0; } if (HeroStatusImmune == true) { HStunPrevent = 5; HFreezePrevent = 5; HBurnPrevent = 5; HBleedPrevent = 5; HShockPrevent = 5; HIgnitePrevent = 5; HAcidPrevent = 5; HVoidPrevent = 5; HFrostPrevent = 5; HPoisonPrevent = 5; } if (HeroInvincibility == true) { HHP = HMaxHP; HVoidVal = 0; if (HHP < 1) { HHP = 1; } } if (SpiderMode == 1 && CurrentStage == HeroGhostStage) { SHP = Skill('S', 'MHP'); SVoidVal = 0; trace('ghost immune'); } } function SaveGhost() { GhostSkill = new Array(); i = 0; while (i < HeroSkill.length) { GhostSkill[i] = this['H_' + HeroSkill[i]].SkillLevel; if (HeroSkill[i] == 'PhysicalAttackDamage') { GhostSkill[i] = Math.floor(GhostSkill[i] / 2); } if (HeroSkill[i] == 'MagicDamage') { GhostSkill[i] = Math.floor(GhostSkill[i] / 2); } if (HeroSkill[i] == 'PhysicalReflectFlat') { GhostSkill[i] = Math.floor(GhostSkill[i] / 2); } if (HeroSkill[i] == 'MagicReflectPcnt') { GhostSkill[i] = Math.floor(GhostSkill[i] / 2); } if (HeroSkill[i] == 'LifeStealPcnt') { GhostSkill[i] = 0; } if (HeroSkill[i] == 'HPGainOnHit') { GhostSkill[i] = 0; } if (HeroSkill[i] == 'HPRegenPcnt') { GhostSkill[i] = 0; } if (HeroSkill[i] == 'HealChance') { GhostSkill[i] = 0; } ++i; } trace('saved ghost' + GhostSkill); } function LoadGhost() { GraphicEffect('Z_BlackFX3', {'A': spin, 'B': grow, 'C': fadeOut}, {'_x': S._x, '_y': S._y, 'Grow': 40, 'Spin': 30, 'Life': 25, 'FadeOut': 4}); trace('loading ghost. . .'); i = 0; while (i < SpiderSkill.length) { TempSpider[i] = this['S_' + SpiderSkill[i]].SkillLevel; ++i; } trace('saved spider' + TempSpider); i = 0; while (i < GhostSkill.length) { if (this['S_' + HeroSkill[i]].SkillLevel != undefined) { TempLevel = this['S_' + HeroSkill[i]].SkillLevel; this['S_' + HeroSkill[i]].SkillLevel = GhostSkill[i]; Trinity1[this['SpiderKey_' + HeroSkill[i]]] += GhostSkill[i] - TempLevel; } ++i; } X = S._x; Y = S._y; tempscale = S._xscale; var v2 = this.attachMovie('EvilGhost', 'S', 2140000); v2._x = X; v2._y = Y; v2._xscale = tempscale; v2._yscale = tempscale; v2.Name = 'S'; GhostFlag = true; Regen(); SES = SMaxES; SArmor = Skill('S', 'ArmorValue') * (100 + Skill('S', 'ArmorValueBonusPcnt')) / 100; SMaxHP = Skill('S', 'MHP'); trace('GhostMHP' + SMaxHP); SHP = SMaxHP; } function KillGhost() { i = 0; while (i < SpiderSkill.length) { if (this['S_' + HeroSkill[i]].SkillLevel != undefined) { TempLevel = this['S_' + SpiderSkill[i]].SkillLevel; this['S_' + SpiderSkill[i]].SkillLevel = TempSpider[i]; Trinity1[this['SpiderKey_' + SpiderSkill[i]]] += TempSpider[i] - TempLevel; } ++i; } X = S._x; Y = S._y; tempscale = S._xscale; if (CurrentStage < 100) { var v2 = this.attachMovie('SpiderUnit', 'S', 2140000); } else { var v2 = this.attachMovie('GiantSpiderUnit', 'S', 2140000); } v2._x = X; v2._y = Y; v2._xscale = tempscale; v2._yscale = tempscale; v2.Name = 'S'; GhostFlag = false; } function ManageConstants() { if (Time % 3 == 0) { P1 = HHP / HMaxHP; P2 = SHP / SMaxHP; P2 += 0.05; B = Skill('H', 'BloodLink') * 2 * StageScale; if (P1 > P2 && P1 > 0.1) { HHP -= B; SHP += B; } else { if (P1 < P2 && P2 > 0.1) { SHP -= B; HHP += B; } } } if (HArmor < ArmorMemory) { D1 = ArmorMemory - HArmor; D = D1 * Skill('H', 'ArmorLink') / 100; InflictDamage('All', D, S); HHP += D1 * Skill('H', 'HauntedArmor') / 100; E = D1 * Skill('H', 'ReactiveArmor') / 100; HES += E; if (HES > HMaxES) { HES = HMaxES; } } ArmorMemory = HArmor; if (SArmor < ArmorMemory2) { D1 = ArmorMemory2 - SArmor; D = D1 * Skill('H', 'IronMaiden') / 100; if (D > SMaxHP * 0.01) { D = SMaxHP * 0.01; } InflictDamage('HP', D, S); } ArmorMemory2 = SArmor; if (Time % 6 == 0) { M = Skill('H', 'MagicDrain'); HMagicCharge += M; SMagicCharge -= M; } B = Skill('H', 'ArmorBurn'); if (HArmor >= B) { HArmor -= B; InflictDamage('All', B * StageScale, S); } B = Skill('H', 'ShieldBurn'); if (Time % 2 == 0 && B > 0) { BonusBurn = 1 + HES * 0.08 / 100; HES *= 0.96; InflictDamage('All', B * 2 * StageScale * BonusBurn, S); } N = Skill('H', 'ThousandNeedles'); ChargeCost = N / 2; if (ChargeCost > 50) { ChargeCost = 50; } if (ChargeCost < -50) { ChargeCost = -50; } if (HMagicCharge >= ChargeCost) { HMagicCharge -= ChargeCost; FlurryCount = 1; F1 = Skill('H', 'Flurry3xChance'); M1 = 1; if (F1 > RN(100)) { M1 = 3; F1 -= 100; while (F1 > 0) { if (F1 > RN(100)) { ++M1; } F1 -= 100; } } F2 = Skill('H', 'Flurry9xChance'); M2 = 1; if (F2 > RN(100)) { M2 = 9; F2 -= 100; while (F2 > 0) { if (F2 > RN(100)) { M2 += 2; } F2 -= 100; } } FlurryCount = M1 * M2; InflictDamage('All', N * FlurryCount, S); } if (Time % 2 == 0 && HHP < 0) { D = Skill('H', 'DemonShop'); GoldCost = D; if (GoldCost > 50) { GoldCost = 50; } if (GoldCost < -50) { GoldCost = -50; } if (_global.GoldCount >= GoldCost) { Trinity1[GoldKey] -= GoldCost; _global.GoldCount -= GoldCost; HHP += D * StageScale; } } if (Time % 2 == 0 && HHP > 0) { HHP -= Skill('H', 'CurseOfAttack'); if (HHP <= 0) { HHP = 1; } } if (Time % 8 == 0 && HHP > 0) { HHP -= Skill('H', 'CurseOfMagic'); if (HHP <= 0) { HHP = 1; } } if (Time % 2 == 0 && HHP < 0) { InflictDamage('All', Skill('H', 'BlackWrath') * StageScale, S); } if (Time % 4 == 0 && HHP > 0) { B = Skill('H', 'BlackShield'); HHP -= B; if (HHP <= 0) { HHP = 1; } HES += B; } if (HBurnVal > 0) { P = Skill('H', 'BlackMirror'); R1 = (HMaxHP * Skill('H', 'HPRegenPcnt') / 2500) * (1 + Skill('H', 'RegenerationBonus') / 100); R2 = (Skill('H', 'ShieldRegenFlat') / 25) * (1 + Skill('H', 'RegenerationBonus') / 100); D = P * (R1 + R2) / 100; InflictDamage('All', D, S); } if (Time <= 72) { C = Skill('H', 'Suppression') / 24; SMagicCharge -= C; SAttackCharge -= C * 2; } if (Time % 4 == 0) { A = Skill('H', 'Assimilation') * StageScale; if (SArmor < A) { A = SArmor; } SArmor -= A; HArmor += A; } if (Time % 3 == 0 && HHP < 0) { HAttackCharge += Skill('H', 'UndyingAttack'); } if (Time % 24 == 0) { if (RN(100) < Skill('H', 'CalmingNovaChance')) { HRageVal = Math.floor(HRageVal * 0.5); SRageVal = Math.floor(SRageVal * 0.75); } } if (Time % 6 == 0) { A = Skill('H', 'AttackNullification'); if (HAttackCharge >= A) { HAttackCharge -= A; SAttackCharge -= A * 2; } } if (Time % 6 == 0 && HHP > 0) { F = Skill('H', 'FireStorm'); ChargeCost = F; if (ChargeCost > 100) { ChargeCost = 100; } if (ChargeCost < -100) { ChargeCost = -100; } if (HMagicCharge >= ChargeCost) { HMagicCharge -= ChargeCost; CastCount = 1; C1 = Skill('H', 'Cast5xChance'); M1 = 1; if (C1 > RN(100)) { M1 = 5; C1 -= 100; while (C1 > 0) { if (C1 > RN(100)) { ++M1; } C1 -= 100; } } C2 = Skill('H', 'Cast25xChance'); M2 = 1; if (C2 > RN(100)) { M2 = 25; C2 -= 100; while (C2 > 0) { if (C2 > RN(100)) { M2 += 2; } C2 -= 100; } } CastCount = M1 * M2; InflictDamage('All', F * 8 * CastCount, S); InflictDamage('All', F * 1 * CastCount, H); } } if (Time % 8 == 0) { C = Skill('H', 'HealingCharges'); ChargeCost = C; if (ChargeCost > 100) { ChargeCost = 100; } if (ChargeCost < -100) { ChargeCost = -100; } if (HAttackCharge >= ChargeCost && HHP < HMaxHP) { HAttackCharge -= ChargeCost; HHP += C * 2 * StageScale; } } if (Time % 6 == 0) { C = Skill('H', 'EnergyCharges'); ChargeCost = C; if (ChargeCost > 100) { ChargeCost = 100; } if (ChargeCost < -100) { ChargeCost = -100; } if (HMagicCharge >= ChargeCost && HES < HMaxES) { HMagicCharge -= ChargeCost; HES += C * StageScale; } } if (Time % 24 == 0) { HMaxHPBuff += Skill('H', 'Aegis') * StageScale; } if (Time % 12 == 0) { VR = Skill('H', 'VoidReduction') * StageScale; if (VR < 0 && HVoidPrevent > 0) { VR = 0; } HVoidVal -= VR; if (HVoidVal <= 0) { HVoidVal = 0; } } if (HHP > 0 && Time % 4 == 0) { SpectralArmor = Skill('H', 'SpectralArmor') * StageScale; if (HHP - 1 < SpectralArmor) { SpectralArmor = HHP - 1; } HHP -= SpectralArmor; HArmor += SpectralArmor; } if (Time % 6 == 0) { C = Skill('H', 'Remedy'); if (RN(100) < C) { Status = RNF(10); if (Status == 0) { if (HStunVal <= 0 && HStunPrevent < 0) { HStunPrevent = 24; } HStunVal = 0; } if (Status == 1) { if (HFreezeVal <= 0 && HFreezePrevent < 0) { HFreezePrevent = 24; } HFreezeVal = 0; } if (Status == 2) { if (HBurnVal <= 0 && HBurnPrevent < 0) { HBurnPrevent = 24; } HBurnVal = 0; } if (Status == 3) { if (HBleedVal <= 0 && HBleedPrevent < 0) { HBleedPrevent = 24; } HBleedVal = 0; } if (Status == 4) { if (HShockVal <= 0 && HShockPrevent < 0) { HShockPrevent = 24; } HShockVal = 0; } if (Status == 5) { if (HIgniteVal <= 0 && HIgnitePrevent < 0) { HIgnitePrevent = 24; } HIgniteVal = 0; } if (Status == 6) { } if (Status == 7) { if (HFrostVal <= 0 && HFrostPrevent < 0) { HFrostPrevent = 24; } HFrostVal = 0; } if (Status == 8) { if (HPoisonVal <= 0 && HPoisonPrevent < 0) { HPoisonPrevent = 24; } HPoisonVal = 0; } if (Status == 9) { if (HAcidVal <= 0 && HAcidPrevent < 0) { HAcidPrevent = 24; } HAcidVal = 0; } } } if (Time % 2 == 0) { EnchantedArmor = Skill('H', 'EnchantedArmor'); if (HArmor < EnchantedArmor * 5) { EnchantedArmor = HArmor / 5; } HArmor -= EnchantedArmor * 5; HCascadeVal += EnchantedArmor; } if (_global.SpiderRandomPrevent) { if (RN(100) < 3) { SStunPrevent = RNC(25, 10); } if (RN(100) < 3) { SFreezePrevent = RNC(25, 10); } if (RN(100) < 3) { SBurnPrevent = RNC(25, 10); } if (RN(100) < 3) { SBleedPrevent = RNC(25, 10); } if (RN(100) < 3) { SShockPrevent = RNC(25, 10); } if (RN(100) < 3) { SIgnitePrevent = RNC(25, 10); } if (RN(100) < 3) { SAcidPrevent = RNC(25, 10); } if (RN(100) < 3) { SVoidPrevent = RNC(25, 10); } if (RN(100) < 3) { SFrostPrevent = RNC(25, 10); } if (RN(100) < 3) { SPoisonPrevent = RNC(25, 10); } } if (SAttackCharge < 0) { SAttackCharge = 0; } if (SMagicCharge < 0) { SMagicCharge = 0; } } function MaxOverkillEffect(MaxOverkill) { MO = new Object(); Damage = MaxOverkill; MO.Crit2xChance = Skill('H', 'Crit2xChance') / 2; MO.Crit4xChance = Skill('H', 'Crit4xChance') / 2; MO.Crit8xChance = Skill('H', 'Crit8xChance') / 2; MO.Crit16xChance = Skill('H', 'Crit16xChance') / 2; CritEnhance = Skill('H', 'CritDamageEnhancement'); if (RN(100) <= MO.Crit2xChance) { Damage *= 2 + CritEnhance / 100; } if (RN(100) <= MO.Crit4xChance) { Damage *= 4 + CritEnhance / 100; } if (RN(100) <= MO.Crit8xChance) { Damage *= 8 + CritEnhance / 100; } if (RN(100) <= MO.Crit16xChance) { Damage *= 16 + CritEnhance / 100; } CombatText('PhysicalDamage', S, Damage); InflictDamage('All', Damage, S); if (SHP < 1) { SHP = 1; } } function SummonDecoy() { if (Decoy == undefined) { var Decoy = this.attachMovie('Decoy', 'Decoy', _global.Depth); ++_global.Depth; } DecoyOut = true; Decoy._x = H._x + RN(140, -70); Decoy._y = H._y - 75; Decoy._yscale = 125; Decoy._xscale = 125; Decoy._visible = true; Decoy.Life = 120; Decoy.onEnterFrame = function () { --this.Life; if (this.Life < 0) { this._visible = false; DecoyOut = false; } }; } function ChooseEvilHoly() { StageText.text = 'Stage ' + CurrentStage; _global.GamePause = true; _global.MenuOpen = true; var v3 = this.attachMovie('EvilHolyPath', 'EvilHoly', 99995999); v3._x = 500; v3._y = 325; } function CalcDPS() { HDPS = TotalDamageS - TotalDamageMemoryS; SDPS = TotalDamageH - TotalDamageMemoryH; DPS_H.text = 'DPS: ' + BigNumber(Math.ceil(HDPS)); DPS_S.text = 'DPS: ' + BigNumber(Math.ceil(SDPS)); TotalDamageMemoryH = TotalDamageH; TotalDamageMemoryS = TotalDamageS; } function VenomCreate() { var v3 = this.attachMovie('VenomMissile', 'Venom' + VenomCount, _global.Depth); ++_global.Depth; ++VenomCount; v3._x = S._x; v3._y = S._y + 25; v3._rotation = 180 + RN(80, -40); v3.Speed = 15 + RN(5); v3.SpinVal = 10 + RN(10); v3.Homing = 6 + RN(2); v3.Target = H; v3.Time = 0; v3.Doom = CurrentStage - 500 - VenomCount; v3.Strength = v3.Doom; trace('Doom: ' + v3.Doom); if (v3.Strength < 1) { v3.Strength = 1; } v3.Strength += Math.floor((CurrentStage - 500) / 100); if (v3.Strength < 1) { v3.Strength = 1; } VenomCount = CurrentStage - 500; v3.onEnterFrame = function () { if (_global.TitleScreen == true) { this.removeMovieClip(); } if (_global.GamePause != true) { ++this.Time; TempRot = this._rotation; this._rotation = this.RotationSave; homing(this, this.Target, this.Homing); run(this); this.RotationSave = this._rotation; this._rotation = TempRot + this.SpinVal; if (this.Time > 50) { this.Homing += 0.1; } if (getDist(this, this.Target) < 20) { Category = 'ALL'; X = 50 - CurrentStage / 50; if (RN(100) < X) { Category = 'Defense'; } else { if (RN(100) < X) { Category = 'Attack'; } else { if (RN(100) < X) { Category = 'Magic'; } else { if (RN(100) < X) { Category = 'Utility'; } else { if (RN(100) < X) { Category = 'Holy'; } else { if (RN(100) < X) { Category = 'Evil'; } } } } } } Exclaim = '!'; if (Category == 'ALL') { Exclaim = '!!!'; this.Skill = this._parent.HeroSkill[RNF(this._parent.HeroSkill.length)]; while (this._parent['H_' + this.Skill].Type == 'Special') { this.Skill = this._parent.HeroSkill[RNF(this._parent.HeroSkill.length)]; } } else { SkillPick = false; Breaker = 0; for (;;) { if (!(SkillPick == false && Breaker < 500)) break; ++Breaker; this.Skill = this._parent.HeroSkill[RNF(this._parent.HeroSkill.length)]; if (this._parent['H_' + this.Skill].Type == Category) { SkillPick = true; } } } R = RNC(6); if (RN(100) < 1) { R = 7; } if (this.Doom > 1) { R = RNC(5); } if (R == 1) { Amount = this.Strength; if (Amount < 1) { Amount = 1; } ImportantText('VenomAlert', H, '-' + Amount + ' ' + Category + 'SKILLS' + Exclaim); v = 0; while (v < this._parent.HeroSkill.length) { Type = this._parent['H_' + this._parent.HeroSkill[v]].Type; if ((Type == Category || Category == 'ALL') && Type != 'Special') { this._parent['H_' + this._parent.HeroSkill[v]].SkillLevel -= Amount; this._parent.Trinity1[this._parent['HeroKey_' + this._parent.HeroSkill[v]]] -= Amount; } ++v; } } if (R == 2) { Amount = this.Strength; if (Amount < 1) { Amount = 1; } ImportantText('VenomAlert', H, '-' + Amount + '% ' + Category + 'SKILLS' + Exclaim); v = 0; while (v < this._parent.HeroSkill.length) { if (this._parent['H_' + this._parent.HeroSkill[v]].Type == Category) { X1 = this._parent['H_' + this._parent.HeroSkill[v]].SkillLevel; X2 = Math.floor(this._parent['H_' + this._parent.HeroSkill[v]].SkillLevel * (100 - Amount) / 100); Calc = X2 - X1; this._parent['H_' + this._parent.HeroSkill[v]].SkillLevel += Calc; this._parent.Trinity1[this._parent['HeroKey_' + this._parent.HeroSkill[v]]] += Calc; } ++v; } } if (R == 3) { Amount = this.Strength * Math.ceil(CurrentStage / 500) * 5; if (Amount < 1) { Amount = 1; } ImportantText('VenomAlert', H, '-' + Amount + ' ' + this._parent['H_' + this.Skill].SkillName + '!'); this._parent['H_' + this.Skill].SkillLevel -= Amount; this._parent.Trinity1[this._parent['HeroKey_' + this.Skill]] -= Amount; } if (R == 4) { Amount = this.Strength * Math.ceil(CurrentStage / 250); if (Amount < 1) { Amount = 1; } ImportantText('VenomAlert', H, '+' + Amount + ' SKILL COST INCREASE!'); _global.SkillCostIncrease += Amount; } if (R == 5) { HighestVal = 0; v = 0; while (v < this._parent.HeroSkill.length) { if (this._parent['H_' + this._parent.HeroSkill[v]].SkillLevel > HighestVal) { HighestVal = this._parent['H_' + this._parent.HeroSkill[v]].SkillLevel; this.Skill = this._parent.HeroSkill[v]; } ++v; } Amount = this.Strength * Math.ceil(CurrentStage / 500); if (Amount < 1) { Amount = 1; } ImportantText('VenomAlert', H, '-' + Amount + '% ' + this._parent['H_' + this.Skill].SkillName + '!!!'); this._parent['H_' + this.Skill].SkillLevel -= Amount; this._parent.Trinity1[this._parent['HeroKey_' + this.Skill]] -= Amount; } if (R == 6) { SkillPick = false; Breaker = 0; for (;;) { if (!(SkillPick == false && Breaker < 100)) break; ++Breaker; this.Skill = this._parent.HeroSkill[RNF(this._parent.HeroSkill.length)]; if (this._parent['H_' + this.Skill].Unlock == true) { SkillPick = true; } } this._parent['H_' + this.Skill].Unlock = false; ImportantText('VenomAlert', H, 'Memory of ' + this._parent['H_' + this.Skill].SkillName + ' LOST!'); } if (R == 7) { this._parent['H_' + this.Skill].SkillName = '???????'; this._parent['H_' + this.Skill].Info = '?!?!?!?!?!?!?!?!'; ImportantText('VenomAlert', H, '?!?!?!?!?!'); } this.removeMovieClip(); } } }; } function ManageTutorialBeacon() { if (HighestStage >= 25 || BeaconUsed == true) { TutorialBeacon._visible = false; } else { TutorialBeacon._alpha = 50 + 50 * Math.sin(Time / 10); } if (BeaconUsed == false) { if (getDist(TutorialBeacon, {'_x': _xmouse, '_y': _ymouse}) < 22) { BeaconUsed = true; } } } function HeroSkillGrowth() { D = Skill('H', 'DefenseSkillGrowth'); L = Math.floor(D / 100); D %= 100; if (RN(100) < D) { L += 1; } if (L > 0) { Growth = DefenseSkill[RNF(DefenseSkill.length)]; this['H_' + Growth].SkillLevel += L; Trinity1[this['HeroKey_' + Growth]] += L; DefenseTotal += L; } A = Skill('H', 'AttackSkillGrowth'); L = Math.floor(A / 100); A %= 100; if (RN(100) < A) { L += 1; } if (L > 0) { Growth = AttackSkill[RNF(AttackSkill.length)]; this['H_' + Growth].SkillLevel += L; Trinity1[this['HeroKey_' + Growth]] += L; AttackTotal += L; } M = Skill('H', 'MagicSkillGrowth'); L = Math.floor(M / 100); M %= 100; if (RN(100) < M) { L += 1; } if (L > 0) { Growth = MagicSkill[RNF(MagicSkill.length)]; this['H_' + Growth].SkillLevel += L; Trinity1[this['HeroKey_' + Growth]] += L; MagicTotal += L; } } stop(); _global.GameOver = false; _global.MenuOpen = true; TIMEREMAINING = 24; if (_global.TimeTrial == true) { TIMEREMAINING = 2520; WarningMC.gotoAndStop(2); } if (_global.SpiderShield == true) { WarningMC.gotoAndStop(3); } _global.Depth = 10000; _global.StarCount = StarPower; _global.GoldCount = GoldPower; _global.TomeTokens = 0; _global.LootCount = 0; _global.GamePause = false; _global.TitleScreen = false; SharedObjectSave.data.Deaths = Deaths + 1; SharedObjectSave.flush(); StageScale = 1; ModeDisplay.gotoAndStop(_global.GameMode + 1); TotalStars = StarPower; TotalGold = GoldPower; TotalDamageH = 0; TotalDamageS = 0; PhysicalAttackH = 0; PhysicalAttackS = 0; MagicAttackH = 0; MagicAttackS = 0; StatusAilmentsH = 0; StatusAilmentsS = 0; CurrentStage = 0; BoostUses = 10; StarBonus = 0; HeroStatusImmune = false; HeroInvincibility = false; HeroSkillsUnlocked = false; HeroInfiniteItemUses = false; HeroClass = ''; ClassSkill1 = ''; ClassSkill2 = ''; ClassSkill3 = ''; H.Name = 'H'; HHP = 100; HES = 0; HArmor = 250; HMaxHP = 100; HMaxES = 10; HStunVal = 0; HFreezeVal = 0; HBurnVal = 0; HBleedVal = 0; HBleedVal2 = 0; HShockVal = 0; HShockVal2 = 0; HIgniteVal = 0; HIgniteVal2 = 0; HAcidVal = 0; HAcidVal2 = 0; HVoidVal = 0; HFrostVal = 0; HFrostVal2 = 0; HPoisonVal = 0; HPoisonVal2 = 0; HRageVal = 0; HCascadeVal = 0; HAttackCharge = 0; HMagicCharge = 0; HManaTime = 0; HStunTime = 0; HStunBreak = 0; HStunPrevent = 0; HFreezePrevent = 0; HBurnPrevent = 0; HBleedPrevent = 0; HShockPrevent = 0; HIgnitePrevent = 0; HAcidPrevent = 0; HVoidPrevent = 0; HFrostPrevent = 0; HPoisonPrevent = 0; HMaxHPBuff = 0; HMaxESBuff = 0; HFlareType = ''; HDPS = 0; S.Name = 'S'; SHP = _global.SpiderBaseHP + 100; SES = 5; SArmor = 50; SMaxHP = _global.SpiderBaseHP + 100; SMaxES = 0; SStunVal = 0; SFreezeVal = 0; SBurnVal = 0; SBleedVal = 0; SBleedVal2 = 0; SShockVal = 0; SShockVal2 = 0; SIgniteVal = 0; SIgniteVal2 = 0; SAcidVal = 0; SAcidVal2 = 0; SVoidVal = 0; SFrostVal = 0; SFrostVal2 = 0; SPoisonVal = 0; SPoisonVal2 = 0; SRageVal = 0; SCascadeVal = 0; SAttackCharge = 0; SMagicCharge = 0; SManaTime = 0; SStunTime = 0; SStunBreak = 0; SStunPrevent = 0; SFreezePrevent = 0; SBurnPrevent = 0; SBleedPrevent = 0; SShockPrevent = 0; SIgnitePrevent = 0; SAcidPrevent = 0; SVoidPrevent = 0; SFrostPrevent = 0; SPoisonPrevent = 0; SMaxHPBuff = 0; SMaxESBuff = 0; SFlareType = ''; SDPS = 0; DefenseTomeVal = 100; AttackTomeVal = 100; MagicTomeVal = 100; UtilityTomeVal = 100; DefenseTomeBuy = 0; AttackTomeBuy = 0; MagicTomeBuy = 0; UtilityTomeBuy = 0; SpecialTomeVal = 100; EvilTomeVal = 100; HolyTomeVal = 100; SpecialTomeBuy = 0; EvilTomeBuy = 0; HolyTomeBuy = 0; ShieldCharmVal = 500; SwordAxeVal = 500; BowMagicVal = 500; PotionBombVal = 500; ShieldCharmBuy = 0; SwordAxeBuy = 0; BowMagicBuy = 0; PotionBombBuy = 0; Time = 0; TrueTime = 0; SpiderMode = 0; SpideTime = 0; ReviveBar._visible = false; VoidFrame = false; PreviousMagicCharges = 0; ImpendingAttack = 0; ImpendingMagic = 0; ImpendingFlag = false; EnchantedESAmount = 0; HeroGFX = 0; this.onEnterFrame = function () { VoidFrame = false; if (_global.GameMode != 0 && CurrentStage == 0) { SHP = -100000; } ManageTutorialBeacon(); ++TrueTime; if (Time % 24 == 0) { CalcDPS(); } if (Time % 2 == 0) { NaNGate(); } TGSoef(); if (ItemSaveAbility) { ItemSaveIMG._visible = true; } else { ItemSaveIMG._visible = false; } if (_global.HeroMode) { HeroName_txt.text = 'HERO!'; HeroStand.gotoAndStop(2); HeroGFX = 3; } else { HeroName_txt.text = 'hero'; HeroStand.gotoAndStop(1); HeroGFX = 0; } if (CurrentStage > 499) { EnemyName_txt.text = 'SPIDER!'; VenomIcon._visible = true; } else { EnemyName_txt.text = 'spider'; VenomIcon._visible = false; } if (GhostFlag == true) { EnemyName_txt.text = HeroGhostClass; EnemyImage.gotoAndStop('Ghost'); } else { EnemyImage.gotoAndStop('spider'); } ManageHotkeys(); if (_global.GamePause != true) { if (SpiderMode != 1) { ManageConstants(); } ManageInvincibleImmune(); ManageGameTime(); ManageHeroLevel(); RefreshStats(); ManageActiveItems(); ++Time; ++SpiderTime; EnchantedESAmount -= 1000 * StageScale / 24; if (EnchantedESAmount < 0) { EnchantedESAmount = 0; } Stars_txt.text = _global.StarCount; Gold_txt.text = _global.GoldCount; Loot_txt.text = _global.LootCount; if (Time % 50 == 0) { CountInventory(); } if (SpiderMode == 1) { if (_global.BunnyCaptive != true) { Bunny._x = 515; } SStunVal = 10 + Time % 25; ReviveBar._visible = true; ReviveBar.Bar._xscale = SpiderTime * 100 / 125; ItemBox.gotoAndStop(1); } else { ReviveBar._visible = false; ItemBox.gotoAndStop(2); } if (SpiderMode == 1 && SpiderTime == 1) { S.gotoAndStop(75); } if (SpiderMode == 1 && CurrentStage > 99 && SpiderTime == 1) { S.gotoAndStop('Hurt'); } if (SpiderMode == 1 && SpiderTime == 125) { S.gotoAndPlay(1); SpiderMode = 0; SStunVal = 0; if (CurrentStage > 499 || _global.SpiderVenom == true) { VenomCreate(); } if (CurrentStage > 0 && CurrentStage != HeroGhostStage && CurrentStage < 100) { SpiderTaunt(); } HeroBegin(); GraphicEffect('Z_WhiteFX1', {'A': grow, 'B': spin}, {'Ref': H}); GraphicEffect('Z_RedFX5', {'A': grow, 'B': spin}, {'Ref': S}); } StageText.text = 'Stage ' + CurrentStage; if (_global.StageBonus != 0) { StageText.text = 'Stage ' + CurrentStage + ' (' + StageBonus() + ')'; } Regen(); ManageInfo(); if (HFreezeVal <= 0 && HStunVal <= 0 && SpiderMode != 1 && HHP > 0) { if (RN(50000) < 2 && CurrentStage > 1) { HeroComplain(); } HAttackCharge += Skill('H', 'AttackSpeed') * (100 - HFrostVal2) / 100; if (Time % 400 <= (100 + Skill('H', 'ManaRegenBonus')) * (100 - Skill('H', 'DestructiveMagic')) / 100) { HManaTime = 0; H.gotoAndStop(2 + HeroGFX); HMagicCharge += Skill('H', 'CastRate'); } else { ++HManaTime; H.gotoAndStop(1 + HeroGFX); } } else { if (HStunTime <= 0) { HStunTime = 1; } ++HStunTime; if (HStunTime > 100) { HStunVal = 0; HFreezeVal = 0; HStunBreak = 100; HStunTime = 0; } } if (HHP <= 0) { H.gotoAndStop(3 + HeroGFX); ++DeathTime; } else { DeathTime = 0; } if ((HHP <= 0 || Time > 480) && CurrentStage == HeroGhostStage && HeroGhostStage > 0 && SpiderMode != 1) { SHP = 0; GraphicEffect('Z_BlackFX3', {'A': spin, 'B': grow, 'C': fadeOut}, {'_x': S._x, '_y': S._y, 'Grow': 40, 'Spin': 30, 'Life': 25, 'FadeOut': 4}); } RedEdge._alpha = DeathTime; if (RedEdge._alpha > 100) { RedEdge._alpha = 100; } if (SpiderMode == 1 && DeathTime > 80 && ENDGAME != true) { DeathTime = 80; } if (DeathTime >= 100 + Skill('H', 'Vengeance')) { _global.GameOver = true; trace('GAME OVER ' + Executed); if (HeroGhostStage != CurrentStage) { HeroGhostStage = CurrentStage; HeroGhostClass = HeroClass; SaveGhost(); } else { HeroGhostStage = 0; } if (ItemSaveAbility) { SaveItem(); } SkillsUnlocked = 0; i = 0; while (i < HeroSkill.length) { if (this['H_' + HeroSkill[i]].Unlock == true) { ++SkillsUnlocked; } ++i; } if (TGS == false) { SharedObjectSave.data.TotalStages += StageBonus(); TotalStages += StageBonus(); SharedObjectSave.flush(); if (_global.HeroMode == true) { kongregate.stats.submit('StageScore1', StageBonus()); } else { kongregate.stats.submit('StageScore2', StageBonus()); } if (_global.GameMode != 0) { kongregate.stats.submit('ChallengeScore' + _global.GameMode, CurrentStage); } kongregate.stats.submit('TotalStars', TotalStars); trace('TotalStars ' + TotalStars); kongregate.stats.submit('TotalGold', TotalGold); trace('TotalGold ' + TotalGold); kongregate.stats.submit('SkillsUnlocked', SkillsUnlocked); trace('SkillsUnlocked ' + SkillsUnlocked); kongregate.stats.submit('TotalDefense', DefenseTotal); trace('TotalDefense ' + DefenseTotal); kongregate.stats.submit('TotalAttack', AttackTotal); trace('TotalAttack ' + AttackTotal); kongregate.stats.submit('TotalMagic', MagicTotal); trace('TotalMagic ' + MagicTotal); kongregate.stats.submit('TotalUtility', UtilityTotal); trace('TotalUtility ' + UtilityTotal); } _global.GameOver = true; _global.GamePause = true; var v3 = this.attachMovie('GAMEOVER', 'GameOver', 98999999); v3._x = 500; v3._y = 325; } if (ImpendingFlag == false) { ImpendingDoom = Skill('H', 'ImpendingDoom'); if (ImpendingDoom > 0) { MC = ImpendingDoom; AC = MC; if (AC > HAttackCharge) { AC = HAttackCharge; } if (MC > HMagicCharge) { MC = HMagicCharge; } ImpendingAttack += AC; ImpendingMagic += MC; HAttackCharge -= AC; HMagicCharge -= MC; if (HHP < 0 || Time > 240) { ImpendingFlag = true; GraphicEffect('Z_PurpleFX1', {'A': spin, 'B': fadeOut, 'C': grow}, {'Ref': H, 'Life': 25}); HAttackCharge += ImpendingAttack * 2; HMagicCharge += ImpendingMagic * 2; } } } ChargeConvert = Skill('H', 'ConvertMagicCharges') / 100; if (ChargeConvert > 0) { ChargesGained = HMagicCharge - PreviousMagicCharges; if (ChargesGained > 0) { ConvertAmount = ChargesGained * ChargeConvert; HMagicCharge -= ConvertAmount; HAttackCharge += ConvertAmount; } PreviousMagicCharges = HMagicCharge; } HChargesNeeded = 500 * (100 - Skill('H', 'AttackChargeEfficiency')) / 100; SChargesNeeded = 500 * (100 - Skill('S', 'AttackChargeEfficiency')) / 100; if (Time % _global.AttackSpeedThrottle == 0) { if (HAttackCharge > HChargesNeeded) { HAttackCharge -= HChargesNeeded; Overflow = Math.floor(HAttackCharge / HChargesNeeded); HAttackCharge -= Overflow * HChargesNeeded; BasicAttack('H', Overflow); } } if (Time % 2 == 0) { if (SAttackCharge > SChargesNeeded) { SAttackCharge -= SChargesNeeded; Overflow = Math.floor(HAttackCharge / HChargesNeeded); HAttackCharge -= Overflow * HChargesNeeded; BasicAttack('S', Overflow); } } if (Time % _global.CastSpeedThrottle == 0) { if (HMagicCharge > 1000) { HMagicCharge -= 1000; Overflow = Math.floor(HMagicCharge / 1000); HMagicCharge -= Overflow * 1000; BasicMagic('H', false, Overflow); } } if (Time % 4 == 0) { if (SMagicCharge > 1000) { SMagicCharge -= 1000; Overflow = Math.floor(SMagicCharge / 1000); SMagicCharge -= Overflow * 1000; BasicMagic('S', false, Overflow); } } MaxArmor = Skill('H', 'ArmorValue') * (100 + Skill('H', 'ArmorValueBonusPcnt')) / 100; ESBar.Bar._xscale = (HES / HMaxES) * 100; ArmorBar.Bar._xscale = (HArmor / MaxArmor) * 100; if (ArmorBar.Bar._xscale > 100) { ArmorBar.Bar._xscale = 100; } HPBar.Bar._xscale = (HHP / HMaxHP) * 100; if (HPBar.Bar._xscale < 0) { HPBar.Bar._xscale = 0; } if (HPBar.Bar._xscale > 100) { HPBar.Bar._xscale = 100; } MaxArmor2 = Skill('S', 'ArmorValue') * (100 + Skill('S', 'ArmorValueBonusPcnt')) / 100; ESBar2.Bar._xscale = (SES / SMaxES) * 100; ArmorBar2.Bar._xscale = (SArmor / MaxArmor2) * 100; if (ArmorBar2.Bar._xscale > 100) { ArmorBar2.Bar._xscale = 100; } HPBar2.Bar._xscale = (SHP / SMaxHP) * 100; if (HPBar2.Bar._xscale < 0) { HPBar2.Bar._xscale = 0; } HAttackBar.Bar._yscale = (HAttackCharge / HChargesNeeded) * 100; HMagicBar.Bar._yscale = (HMagicCharge / 1000) * 100; HMagicBar.CDR.gotoAndStop(Math.ceil(100 * HManaTime / (300 - Skill('H', 'ManaRegenBonus')))); if (HManaTime == 0) { HMagicBar.CDR.gotoAndStop(100); } SMagicBar.Bar._yscale = (SMagicCharge / 1000) * 100; SMagicBar.CDR.gotoAndStop(Math.ceil(100 * SManaTime / (300 - Skill('S', 'ManaRegenBonus')))); if (SManaTime == 0) { SMagicBar.CDR.gotoAndStop(100); } SAttackBar.Bar._yscale = (SAttackCharge / SChargesNeeded) * 100; if (ESBar.Bar._xscale > 100) { ESBar.Bar._xscale = 100; } if (ESBar.Bar._xscale < 0) { ESBar.Bar._xscale = 0; } if (ArmorBar.Bar._xscale > 100) { ArmorBar.Bar._xscale = 100; } if (ArmorBar.Bar._xscale < 0) { ArmorBar.Bar._xscale = 0; } if (HPBar.Bar._xscale > 100) { HPBar.Bar._xscale = 100; } if (HPBar.Bar._xscale < 0) { HPBar.Bar._xscale = 0; } if (ESBar2.Bar._xscale > 100) { ESBar2.Bar._xscale = 100; } if (ESBar2.Bar._xscale < 0) { ESBar2.Bar._xscale = 0; } if (ArmorBar2.Bar._xscale > 100) { ArmorBar2.Bar._xscale = 100; } if (ArmorBar2.Bar._xscale < 0) { ArmorBar2.Bar._xscale = 0; } if (HPBar2.Bar._xscale > 100) { HPBar2.Bar._xscale = 100; } if (HPBar2.Bar._xscale < 0) { HPBar2.Bar._xscale = 0; } if (SStunVal <= 0 && SFreezeVal <= 0 && SpiderMode != 1) { S.play(); SpiderWander(); if (CurrentStage > 4 || GhostFlag == true || _global.GameMode != 0) { SAttackCharge += Skill('S', 'AttackSpeed') * (100 - SFrostVal2) / 100; if (Time % 400 < 100 + Skill('S', 'ManaRegenBonus')) { SManaTime = 0; SMagicCharge += Skill('S', 'CastRate'); } else { ++SManaTime; } } } else { S.stop(); if (SStunTime <= 0) { SStunTime = 1; } ++SStunTime; if (SStunTime > 100 + Skill('H', 'StunFreezeThreshold')) { SStunVal = 0; SFreezeVal = 0; SStunBreak = 100; SStunTime = 0; } } } }; HArmorTotal = 0; MothCount = 0; SpiderFocus = 0; TauntTime = 0; HeroIntro(); DefenseTotal = 0; AttackTotal = 0; MagicTotal = 0; UtilityTotal = 0; EvilTotal = 0; HolyTotal = 0; SpecialTotal = 0; BANNEDTotal = 0; PauseMC.onPress = function () { TogglePause(); }; PressG = true; Press1 = true; Press2 = true; Press3 = true; Press4 = true; PressSpace = true; if (GhostSkill == undefined) { GhostSkill = new Array(); } StageRef = this; GhostFlag = false; TempSpider = new Array(); ArmorMemory = 0; ArmorMemory2 = 0; DecoyOut = false; TotalDamageMemoryH = 0; TotalDamageMemoryS = 0; VenomCount = 0; _global.SkillCostIncrease = 0; if (_global.BunnyCaptive == true) { Bunny._x = Web._x - 50; Bunny._y = Web._y + 50; } BeaconUsed = false; recapPhysicalDamage = 0; recapMagicDamage = 0; recapIgnite = 0; recapAcid = 0; recapVoid = 0; recapReflect = 0; } frame 3 { function ChooseClass() { _global.GamePause = true; var v3 = this.attachMovie('SelectHeroClass', 'ClassSheet', 999999995); v3._x = 500; v3._y = 325; } Index = 0; HeroSkill = new Array(); H_ = new Object(); H_.Unlock = true; H_MHP = new Object(); H_MHP.SkillName = 'Max Health Points'; H_MHP.Type = 'Defense'; H_MHP.Index = Index; H_MHP.BaseValue = 100; H_MHP.AmountPerLevel = 20; HeroSkill[Index] = 'MHP'; ++Index; H_MHP.ParentSkill = ''; H_MHP.Unlock = true; H_MHP.Decay = false; H_MHP.Cost = 100; H_MHP.SkillLevel = 0; H_MHP.Info = 'Fall below 0 and death is near. Good for healing, weak against bleed/poison.'; H_HPRegenPcnt = new Object(); H_HPRegenPcnt.SkillName = 'HP Regen (%)'; H_HPRegenPcnt.Type = 'Defense'; H_HPRegenPcnt.Index = Index; H_HPRegenPcnt.BaseValue = 1; H_HPRegenPcnt.AmountPerLevel = 0.05; HeroSkill[Index] = 'HPRegenPcnt'; ++Index; H_HPRegenPcnt.ParentSkill = 'MHP'; H_HPRegenPcnt.Unlock = true; H_HPRegenPcnt.Decay = false; H_HPRegenPcnt.Cost = 100; H_HPRegenPcnt.SkillLevel = 0; H_HPRegenPcnt.Info = 'Regenerate % of MaxHP every second. Good against constant damage.'; H_MaxEnergyShield = new Object(); H_MaxEnergyShield.SkillName = 'Max Energy Shield'; H_MaxEnergyShield.Type = 'Defense'; H_MaxEnergyShield.Index = Index; H_MaxEnergyShield.BaseValue = 10; H_MaxEnergyShield.AmountPerLevel = 2; HeroSkill[Index] = 'MaxEnergyShield'; ++Index; H_MaxEnergyShield.ParentSkill = ''; H_MaxEnergyShield.Unlock = false; H_MaxEnergyShield.Decay = false; H_MaxEnergyShield.Cost = 100; H_MaxEnergyShield.SkillLevel = 0; H_MaxEnergyShield.Info = 'Energy Shield always takes damage first. Good for protecting Armor from small constant damage, but susceptible to high burst damage.'; H_ShieldRegenFlat = new Object(); H_ShieldRegenFlat.SkillName = 'E-Shield Regen (flat)'; H_ShieldRegenFlat.Type = 'Defense'; H_ShieldRegenFlat.Index = Index; H_ShieldRegenFlat.BaseValue = 10; H_ShieldRegenFlat.AmountPerLevel = 2; HeroSkill[Index] = 'ShieldRegenFlat'; ++Index; H_ShieldRegenFlat.ParentSkill = 'MaxEnergyShield'; H_ShieldRegenFlat.Unlock = false; H_ShieldRegenFlat.Decay = false; H_ShieldRegenFlat.Cost = 100; H_ShieldRegenFlat.SkillLevel = 0; H_ShieldRegenFlat.Info = 'Regenerate flat amount of Energy Shield every second for better Armor protection.'; H_MagicEnergyShield = new Object(); H_MagicEnergyShield.SkillName = 'Magic Energy Shield'; H_MagicEnergyShield.Type = 'Defense'; H_MagicEnergyShield.Index = Index; H_MagicEnergyShield.BaseValue = 0; H_MagicEnergyShield.AmountPerLevel = 6; HeroSkill[Index] = 'MagicEnergyShield'; ++Index; H_MagicEnergyShield.ParentSkill = 'MaxEnergyShield'; H_MagicEnergyShield.Unlock = false; H_MagicEnergyShield.Decay = true; H_MagicEnergyShield.Cost = 100; H_MagicEnergyShield.SkillLevel = 0; H_MagicEnergyShield.Info = 'Gain this amount of D-Shield each time the enemy hits you with a magic spell. (Amount given from this skill occurs after damage.)'; H_ArmorValue = new Object(); H_ArmorValue.SkillName = 'Armor Value'; H_ArmorValue.Type = 'Defense'; H_ArmorValue.Index = Index; H_ArmorValue.BaseValue = 250; H_ArmorValue.AmountPerLevel = 50; HeroSkill[Index] = 'ArmorValue'; ++Index; H_ArmorValue.ParentSkill = ''; H_ArmorValue.Unlock = false; H_ArmorValue.Decay = false; H_ArmorValue.Cost = 100; H_ArmorValue.SkillLevel = 0; H_ArmorValue.Info = 'Basic starting Armor for each stage. Armor takes damage before HP and prevents Bleed status.'; H_ArmorValueBonusPcnt = new Object(); H_ArmorValueBonusPcnt.SkillName = 'Armor Value Bonus (%)'; H_ArmorValueBonusPcnt.Type = 'Defense'; H_ArmorValueBonusPcnt.Index = Index; H_ArmorValueBonusPcnt.BaseValue = 0; H_ArmorValueBonusPcnt.AmountPerLevel = 5; HeroSkill[Index] = 'ArmorValueBonusPcnt'; ++Index; H_ArmorValueBonusPcnt.ParentSkill = 'ArmorValue'; H_ArmorValueBonusPcnt.Unlock = false; H_ArmorValueBonusPcnt.Decay = false; H_ArmorValueBonusPcnt.Cost = 100; H_ArmorValueBonusPcnt.SkillLevel = 0; H_ArmorValueBonusPcnt.Info = '% Bonus for increasing Armor.'; H_BlockChance = new Object(); H_BlockChance.SkillName = 'Block Chance'; H_BlockChance.Type = 'Defense'; H_BlockChance.Index = Index; H_BlockChance.BaseValue = 0; H_BlockChance.AmountPerLevel = 1; HeroSkill[Index] = 'BlockChance'; ++Index; H_BlockChance.ParentSkill = ''; H_BlockChance.Unlock = false; H_BlockChance.Decay = true; H_BlockChance.Cost = 100; H_BlockChance.SkillLevel = 0; H_BlockChance.Info = 'Chance to Block incoming physical attacks, reducing their damage significantly.'; H_BlockAmountPcnt = new Object(); H_BlockAmountPcnt.SkillName = 'Block Amount (%)'; H_BlockAmountPcnt.Type = 'Defense'; H_BlockAmountPcnt.Index = Index; H_BlockAmountPcnt.BaseValue = 50; H_BlockAmountPcnt.AmountPerLevel = 0.5; HeroSkill[Index] = 'BlockAmountPcnt'; ++Index; H_BlockAmountPcnt.ParentSkill = 'BlockChance'; H_BlockAmountPcnt.Unlock = false; H_BlockAmountPcnt.Decay = true; H_BlockAmountPcnt.Cost = 100; H_BlockAmountPcnt.SkillLevel = 0; H_BlockAmountPcnt.Info = 'The percentage of Block\'s damage reduction against physical damage.'; H_BlockAmountFlat = new Object(); H_BlockAmountFlat.SkillName = 'Block Amount (flat)'; H_BlockAmountFlat.Type = 'Defense'; H_BlockAmountFlat.Index = Index; H_BlockAmountFlat.BaseValue = 0; H_BlockAmountFlat.AmountPerLevel = 2; HeroSkill[Index] = 'BlockAmountFlat'; ++Index; H_BlockAmountFlat.ParentSkill = 'BlockChance'; H_BlockAmountFlat.Unlock = false; H_BlockAmountFlat.Decay = false; H_BlockAmountFlat.Cost = 100; H_BlockAmountFlat.SkillLevel = 0; H_BlockAmountFlat.Info = 'A flat amount of additional Block damage reduction, calculated after percentage.'; H_EvadeChance = new Object(); H_EvadeChance.SkillName = 'Evade Chance'; H_EvadeChance.Type = 'Defense'; H_EvadeChance.Index = Index; H_EvadeChance.BaseValue = 0; H_EvadeChance.AmountPerLevel = 1; HeroSkill[Index] = 'EvadeChance'; ++Index; H_EvadeChance.ParentSkill = ''; H_EvadeChance.Unlock = false; H_EvadeChance.Decay = true; H_EvadeChance.Cost = 100; H_EvadeChance.SkillLevel = 0; H_EvadeChance.Info = 'A percent chance to evade Magic attacks, avoiding all damage.'; H_PhysicalDamageReductionPcnt = new Object(); H_PhysicalDamageReductionPcnt.SkillName = 'Physical Damage Reduction (%)'; H_PhysicalDamageReductionPcnt.Type = 'Defense'; H_PhysicalDamageReductionPcnt.Index = Index; H_PhysicalDamageReductionPcnt.BaseValue = 0; H_PhysicalDamageReductionPcnt.AmountPerLevel = 0.9; HeroSkill[Index] = 'PhysicalDamageReductionPcnt'; ++Index; H_PhysicalDamageReductionPcnt.ParentSkill = ''; H_PhysicalDamageReductionPcnt.Unlock = false; H_PhysicalDamageReductionPcnt.Decay = true; H_PhysicalDamageReductionPcnt.Cost = 100; H_PhysicalDamageReductionPcnt.SkillLevel = 0; H_PhysicalDamageReductionPcnt.Info = 'Passive amount of Physical Damage Reduction %'; H_PhysicalDamageReductionFlat = new Object(); H_PhysicalDamageReductionFlat.SkillName = 'Physical Damage Reduction (flat)'; H_PhysicalDamageReductionFlat.Type = 'Defense'; H_PhysicalDamageReductionFlat.Index = Index; H_PhysicalDamageReductionFlat.BaseValue = 0; H_PhysicalDamageReductionFlat.AmountPerLevel = 0.5; HeroSkill[Index] = 'PhysicalDamageReductionFlat'; ++Index; H_PhysicalDamageReductionFlat.ParentSkill = 'PhysicalDamageReductionPcnt'; H_PhysicalDamageReductionFlat.Unlock = false; H_PhysicalDamageReductionFlat.Decay = false; H_PhysicalDamageReductionFlat.Cost = 100; H_PhysicalDamageReductionFlat.SkillLevel = 0; H_PhysicalDamageReductionFlat.Info = 'Passive amount of additional Physical Damage Reduction, calculated after % reduction.'; H_MagicDamageReductionFlat = new Object(); H_MagicDamageReductionFlat.SkillName = 'Magic Damage Reduction (flat)'; H_MagicDamageReductionFlat.Type = 'Defense'; H_MagicDamageReductionFlat.Index = Index; H_MagicDamageReductionFlat.BaseValue = 0; H_MagicDamageReductionFlat.AmountPerLevel = 2; HeroSkill[Index] = 'MagicDamageReductionFlat'; ++Index; H_MagicDamageReductionFlat.ParentSkill = ''; H_MagicDamageReductionFlat.Unlock = false; H_MagicDamageReductionFlat.Decay = false; H_MagicDamageReductionFlat.Cost = 100; H_MagicDamageReductionFlat.SkillLevel = 0; H_MagicDamageReductionFlat.Info = 'Passive amount of flat Magic Damage Reduction.'; H_MagicDamageReductionPcnt = new Object(); H_MagicDamageReductionPcnt.SkillName = 'Magic Damage Reduction (%)'; H_MagicDamageReductionPcnt.Type = 'Defense'; H_MagicDamageReductionPcnt.Index = Index; H_MagicDamageReductionPcnt.BaseValue = 0; H_MagicDamageReductionPcnt.AmountPerLevel = 0.8; HeroSkill[Index] = 'MagicDamageReductionPcnt'; ++Index; H_MagicDamageReductionPcnt.ParentSkill = 'MagicDamageReductionFlat'; H_MagicDamageReductionPcnt.Unlock = false; H_MagicDamageReductionPcnt.Decay = true; H_MagicDamageReductionPcnt.Cost = 100; H_MagicDamageReductionPcnt.SkillLevel = 0; H_MagicDamageReductionPcnt.Info = 'Passive amount of Magic Damage Reduction %, calculated after flat reduction.'; H_PhysicalReflectFlat = new Object(); H_PhysicalReflectFlat.SkillName = 'Physical Reflect (flat)'; H_PhysicalReflectFlat.Type = 'Defense'; H_PhysicalReflectFlat.Index = Index; H_PhysicalReflectFlat.BaseValue = 0; H_PhysicalReflectFlat.AmountPerLevel = 1; HeroSkill[Index] = 'PhysicalReflectFlat'; ++Index; H_PhysicalReflectFlat.ParentSkill = ''; H_PhysicalReflectFlat.Unlock = false; H_PhysicalReflectFlat.Decay = false; H_PhysicalReflectFlat.Cost = 100; H_PhysicalReflectFlat.SkillLevel = 0; H_PhysicalReflectFlat.Info = 'A flat amount of damage automatically inflicted onto the opponent each time you are hit by physical attacks.'; H_MagicReflectPcnt = new Object(); H_MagicReflectPcnt.SkillName = 'Magic Reflect (%)'; H_MagicReflectPcnt.Type = 'Defense'; H_MagicReflectPcnt.Index = Index; H_MagicReflectPcnt.BaseValue = 0; H_MagicReflectPcnt.AmountPerLevel = 2; HeroSkill[Index] = 'MagicReflectPcnt'; ++Index; H_MagicReflectPcnt.ParentSkill = ''; H_MagicReflectPcnt.Unlock = false; H_MagicReflectPcnt.Decay = true; H_MagicReflectPcnt.Cost = 100; H_MagicReflectPcnt.SkillLevel = 0; H_MagicReflectPcnt.Info = 'A scaling amount of magic damage automatically inflicted onto the opponent each time you are hit by Magic attacks.'; H_CritChanceResist = new Object(); H_CritChanceResist.SkillName = 'Crit Chance Resist'; H_CritChanceResist.Type = 'Defense'; H_CritChanceResist.Index = Index; H_CritChanceResist.BaseValue = 0; H_CritChanceResist.AmountPerLevel = 1; HeroSkill[Index] = 'CritChanceResist'; ++Index; H_CritChanceResist.ParentSkill = ''; H_CritChanceResist.Unlock = false; H_CritChanceResist.Decay = false; H_CritChanceResist.Cost = 100; H_CritChanceResist.SkillLevel = 0; H_CritChanceResist.Info = 'Makes the enemy critical strike less often.'; H_CritDamageResist = new Object(); H_CritDamageResist.SkillName = 'Crit Damage Resist'; H_CritDamageResist.Type = 'Defense'; H_CritDamageResist.Index = Index; H_CritDamageResist.BaseValue = 0; H_CritDamageResist.AmountPerLevel = 1; HeroSkill[Index] = 'CritDamageResist'; ++Index; H_CritDamageResist.ParentSkill = 'CritChanceResist'; H_CritDamageResist.Unlock = false; H_CritDamageResist.Decay = true; H_CritDamageResist.Cost = 100; H_CritDamageResist.SkillLevel = 0; H_CritDamageResist.Info = 'Reduces the damage multiplication of enemy critical strikes.'; H_StunFreezeResistChance = new Object(); H_StunFreezeResistChance.SkillName = 'Stun/Freeze Resist Chance'; H_StunFreezeResistChance.Type = 'Defense'; H_StunFreezeResistChance.Index = Index; H_StunFreezeResistChance.BaseValue = 0; H_StunFreezeResistChance.AmountPerLevel = 0.99; HeroSkill[Index] = 'StunFreezeResistChance'; ++Index; H_StunFreezeResistChance.ParentSkill = 'StatusRecoveryBonus'; H_StunFreezeResistChance.Unlock = false; H_StunFreezeResistChance.Decay = true; H_StunFreezeResistChance.Cost = 100; H_StunFreezeResistChance.SkillLevel = 0; H_StunFreezeResistChance.Info = 'A percent chance to avoid Stun/Freeze.'; H_PoisonBleedResistChance = new Object(); H_PoisonBleedResistChance.SkillName = 'Poison/Bleed Resist Chance'; H_PoisonBleedResistChance.Type = 'Defense'; H_PoisonBleedResistChance.Index = Index; H_PoisonBleedResistChance.BaseValue = 0; H_PoisonBleedResistChance.AmountPerLevel = 0.99; HeroSkill[Index] = 'PoisonBleedResistChance'; ++Index; H_PoisonBleedResistChance.ParentSkill = 'StatusRecoveryBonus'; H_PoisonBleedResistChance.Unlock = false; H_PoisonBleedResistChance.Decay = true; H_PoisonBleedResistChance.Cost = 100; H_PoisonBleedResistChance.SkillLevel = 0; H_PoisonBleedResistChance.Info = 'A percent chance to avoid Poison/Bleed.'; H_BurnShockResistChance = new Object(); H_BurnShockResistChance.SkillName = 'Burn/Shock Resist Chance'; H_BurnShockResistChance.Type = 'Defense'; H_BurnShockResistChance.Index = Index; H_BurnShockResistChance.BaseValue = 0; H_BurnShockResistChance.AmountPerLevel = 0.99; HeroSkill[Index] = 'BurnShockResistChance'; ++Index; H_BurnShockResistChance.ParentSkill = 'StatusRecoveryBonus'; H_BurnShockResistChance.Unlock = false; H_BurnShockResistChance.Decay = true; H_BurnShockResistChance.Cost = 100; H_BurnShockResistChance.SkillLevel = 0; H_BurnShockResistChance.Info = 'A percent chance to avoid Burn/Shock.'; H_IgniteAcidResistChance = new Object(); H_IgniteAcidResistChance.SkillName = 'Ignite/Acid Resist Chance'; H_IgniteAcidResistChance.Type = 'Defense'; H_IgniteAcidResistChance.Index = Index; H_IgniteAcidResistChance.BaseValue = 0; H_IgniteAcidResistChance.AmountPerLevel = 1; HeroSkill[Index] = 'IgniteAcidResistChance'; ++Index; H_IgniteAcidResistChance.ParentSkill = 'StatusRecoveryBonus'; H_IgniteAcidResistChance.Unlock = false; H_IgniteAcidResistChance.Decay = true; H_IgniteAcidResistChance.Cost = 100; H_IgniteAcidResistChance.SkillLevel = 0; H_IgniteAcidResistChance.Info = 'A percent chance to reduce incoming Ignite or Acid damage by 80%.'; H_VoidResistChance = new Object(); H_VoidResistChance.SkillName = 'Void Resist Chance'; H_VoidResistChance.Type = 'Defense'; H_VoidResistChance.Index = Index; H_VoidResistChance.BaseValue = 0; H_VoidResistChance.AmountPerLevel = 1; HeroSkill[Index] = 'VoidResistChance'; ++Index; H_VoidResistChance.ParentSkill = 'StatusRecoveryBonus'; H_VoidResistChance.Unlock = false; H_VoidResistChance.Decay = true; H_VoidResistChance.Cost = 100; H_VoidResistChance.SkillLevel = 0; H_VoidResistChance.Info = 'A percent chance to reduce incoming Void damage by half.'; H_StatusRecoveryBonus = new Object(); H_StatusRecoveryBonus.SkillName = 'Status Recovery Bonus'; H_StatusRecoveryBonus.Type = 'Defense'; H_StatusRecoveryBonus.Index = Index; H_StatusRecoveryBonus.BaseValue = 0; H_StatusRecoveryBonus.AmountPerLevel = 1; HeroSkill[Index] = 'StatusRecoveryBonus'; ++Index; H_StatusRecoveryBonus.ParentSkill = ''; H_StatusRecoveryBonus.Unlock = false; H_StatusRecoveryBonus.Decay = false; H_StatusRecoveryBonus.Cost = 100; H_StatusRecoveryBonus.SkillLevel = 0; H_StatusRecoveryBonus.Info = 'Ability to recover more quickly from negative status ailments.'; H_DamageResist = new Object(); H_DamageResist.SkillName = 'Damage Resist'; H_DamageResist.Type = 'Defense'; H_DamageResist.Index = Index; H_DamageResist.BaseValue = 0; H_DamageResist.AmountPerLevel = 1; HeroSkill[Index] = 'DamageResist'; ++Index; H_DamageResist.ParentSkill = ''; H_DamageResist.Unlock = false; H_DamageResist.Decay = false; H_DamageResist.Cost = 100; H_DamageResist.SkillLevel = 0; H_DamageResist.Info = 'Reduce All incoming physical and magic damage according to the ratio 100/(100+DR). This resistance is not affected by enemy armor penetration.'; H_PhysicalAttackDamage = new Object(); H_PhysicalAttackDamage.SkillName = 'Physical Attack Damage'; H_PhysicalAttackDamage.Type = 'Attack'; H_PhysicalAttackDamage.Index = Index; H_PhysicalAttackDamage.BaseValue = 10; H_PhysicalAttackDamage.AmountPerLevel = 1; HeroSkill[Index] = 'PhysicalAttackDamage'; ++Index; H_PhysicalAttackDamage.ParentSkill = ''; H_PhysicalAttackDamage.Unlock = true; H_PhysicalAttackDamage.Decay = false; H_PhysicalAttackDamage.Cost = 100; H_PhysicalAttackDamage.SkillLevel = 0; H_PhysicalAttackDamage.Info = 'The base amount of Physical Damage you deal on normal auto-attacks.'; H_AttackSpeed = new Object(); H_AttackSpeed.SkillName = 'Attack Speed'; H_AttackSpeed.Type = 'Attack'; H_AttackSpeed.Index = Index; H_AttackSpeed.BaseValue = 30; H_AttackSpeed.AmountPerLevel = 1; HeroSkill[Index] = 'AttackSpeed'; ++Index; H_AttackSpeed.ParentSkill = ''; H_AttackSpeed.Unlock = true; H_AttackSpeed.Decay = false; H_AttackSpeed.Cost = 100; H_AttackSpeed.SkillLevel = 0; H_AttackSpeed.Info = 'The vpeed at which you gain Attack Charges used for Auto-Attacks. Each Auto-Attack uses 500 Attack Charges and this skill generates 24* Attack Charges per second.'; H_PhysicalAttackBonusPcnt = new Object(); H_PhysicalAttackBonusPcnt.SkillName = 'Physical Attack Bonus (%)'; H_PhysicalAttackBonusPcnt.Type = 'Attack'; H_PhysicalAttackBonusPcnt.Index = Index; H_PhysicalAttackBonusPcnt.BaseValue = 0; H_PhysicalAttackBonusPcnt.AmountPerLevel = 1; HeroSkill[Index] = 'PhysicalAttackBonusPcnt'; ++Index; H_PhysicalAttackBonusPcnt.ParentSkill = ''; H_PhysicalAttackBonusPcnt.Unlock = false; H_PhysicalAttackBonusPcnt.Decay = false; H_PhysicalAttackBonusPcnt.Cost = 100; H_PhysicalAttackBonusPcnt.SkillLevel = 0; H_PhysicalAttackBonusPcnt.Info = 'Bonus % to the base physical damage of all auto-attacks.'; H_AttackChargeEfficiency = new Object(); H_AttackChargeEfficiency.SkillName = 'Attack Charge Efficiency'; H_AttackChargeEfficiency.Type = 'Attack'; H_AttackChargeEfficiency.Index = Index; H_AttackChargeEfficiency.BaseValue = 0; H_AttackChargeEfficiency.AmountPerLevel = 0.5; HeroSkill[Index] = 'AttackChargeEfficiency'; ++Index; H_AttackChargeEfficiency.ParentSkill = ''; H_AttackChargeEfficiency.Unlock = false; H_AttackChargeEfficiency.Decay = true; H_AttackChargeEfficiency.Cost = 100; H_AttackChargeEfficiency.SkillLevel = 0; H_AttackChargeEfficiency.Info = 'A percent reduction for the number of Attack Charges needed to perform a normal attack.'; H_Crit2xChance = new Object(); H_Crit2xChance.SkillName = '2x Crit Chance'; H_Crit2xChance.Type = 'Attack'; H_Crit2xChance.Index = Index; H_Crit2xChance.BaseValue = 0; H_Crit2xChance.AmountPerLevel = 1; HeroSkill[Index] = 'Crit2xChance'; ++Index; H_Crit2xChance.ParentSkill = ''; H_Crit2xChance.Unlock = false; H_Crit2xChance.Decay = false; H_Crit2xChance.Cost = 100; H_Crit2xChance.SkillLevel = 0; H_Crit2xChance.Info = 'Percent chance to deal 2x physical damage on normal attacks. Stacks multiplicatively with other critical strikes for up to 1024x damage.'; H_Crit4xChance = new Object(); H_Crit4xChance.SkillName = '4x Crit Chance'; H_Crit4xChance.Type = 'Attack'; H_Crit4xChance.Index = Index; H_Crit4xChance.BaseValue = 0; H_Crit4xChance.AmountPerLevel = 0.5; HeroSkill[Index] = 'Crit4xChance'; ++Index; H_Crit4xChance.ParentSkill = ''; H_Crit4xChance.Unlock = false; H_Crit4xChance.Decay = false; H_Crit4xChance.Cost = 100; H_Crit4xChance.SkillLevel = 0; H_Crit4xChance.Info = 'Percent chance to deal 4x physical damage on normal attacks. Stacks multiplicatively with other critical strikes for up to 1024x damage.'; H_Crit8xChance = new Object(); H_Crit8xChance.SkillName = '8x Crit Chance'; H_Crit8xChance.Type = 'Attack'; H_Crit8xChance.Index = Index; H_Crit8xChance.BaseValue = 0; H_Crit8xChance.AmountPerLevel = 0.25; HeroSkill[Index] = 'Crit8xChance'; ++Index; H_Crit8xChance.ParentSkill = ''; H_Crit8xChance.Unlock = false; H_Crit8xChance.Decay = false; H_Crit8xChance.Cost = 100; H_Crit8xChance.SkillLevel = 0; H_Crit8xChance.Info = 'Percent chance to deal 8x physical damage on normal attacks. Stacks multiplicatively with other critical strikes for up to 1024x damage.'; H_Crit16xChance = new Object(); H_Crit16xChance.SkillName = '16x Crit Chance'; H_Crit16xChance.Type = 'Attack'; H_Crit16xChance.Index = Index; H_Crit16xChance.BaseValue = 0; H_Crit16xChance.AmountPerLevel = 0.1; HeroSkill[Index] = 'Crit16xChance'; ++Index; H_Crit16xChance.ParentSkill = ''; H_Crit16xChance.Unlock = false; H_Crit16xChance.Decay = false; H_Crit16xChance.Cost = 100; H_Crit16xChance.SkillLevel = 0; H_Crit16xChance.Info = 'Percent chance to deal 16x physical damage on normal attacks. Stacks multiplicatively with other critical strikes for up to 1024x damage.'; H_BleedChance = new Object(); H_BleedChance.SkillName = 'Bleed Chance'; H_BleedChance.Type = 'Attack'; H_BleedChance.Index = Index; H_BleedChance.BaseValue = 0; H_BleedChance.AmountPerLevel = 0.3; HeroSkill[Index] = 'BleedChance'; ++Index; H_BleedChance.ParentSkill = ''; H_BleedChance.Unlock = false; H_BleedChance.Decay = true; H_BleedChance.Cost = 100; H_BleedChance.SkillLevel = 0; H_BleedChance.Info = 'Percent chance to inflict Bleed, dealing damage over time based on enemy Max Health.'; H_BleedDuration = new Object(); H_BleedDuration.SkillName = 'Bleed Duration Bonus'; H_BleedDuration.Type = 'Attack'; H_BleedDuration.Index = Index; H_BleedDuration.BaseValue = 0; H_BleedDuration.AmountPerLevel = 1; HeroSkill[Index] = 'BleedDuration'; ++Index; H_BleedDuration.ParentSkill = 'BleedChance'; H_BleedDuration.Unlock = false; H_BleedDuration.Decay = false; H_BleedDuration.Cost = 100; H_BleedDuration.SkillLevel = 0; H_BleedDuration.Info = 'Additional Bleed time for extra damage.'; H_BleedDamagePcnt = new Object(); H_BleedDamagePcnt.SkillName = 'Bleed Damage (MHP%) Bonus'; H_BleedDamagePcnt.Type = 'Attack'; H_BleedDamagePcnt.Index = Index; H_BleedDamagePcnt.BaseValue = 0; H_BleedDamagePcnt.AmountPerLevel = 0.1; HeroSkill[Index] = 'BleedDamagePcnt'; ++Index; H_BleedDamagePcnt.ParentSkill = 'BleedChance'; H_BleedDamagePcnt.Unlock = false; H_BleedDamagePcnt.Decay = true; H_BleedDamagePcnt.Cost = 100; H_BleedDamagePcnt.SkillLevel = 0; H_BleedDamagePcnt.Info = 'Modifies the amount of Bleed damage inflicted per second.'; H_StunChance = new Object(); H_StunChance.SkillName = 'Stun Chance'; H_StunChance.Type = 'Attack'; H_StunChance.Index = Index; H_StunChance.BaseValue = 0; H_StunChance.AmountPerLevel = 0.5; HeroSkill[Index] = 'StunChance'; ++Index; H_StunChance.ParentSkill = ''; H_StunChance.Unlock = false; H_StunChance.Decay = true; H_StunChance.Cost = 100; H_StunChance.SkillLevel = 0; H_StunChance.Info = 'Percent chance to stun on-hit for normal attacks.'; H_StunDuration = new Object(); H_StunDuration.SkillName = 'Stun Duration Bonus'; H_StunDuration.Type = 'Attack'; H_StunDuration.Index = Index; H_StunDuration.BaseValue = 0; H_StunDuration.AmountPerLevel = 1; HeroSkill[Index] = 'StunDuration'; ++Index; H_StunDuration.ParentSkill = 'StunChance'; H_StunDuration.Unlock = false; H_StunDuration.Decay = false; H_StunDuration.Cost = 100; H_StunDuration.SkillLevel = 0; H_StunDuration.Info = 'Additional Stun time added.'; H_CounterAttack = new Object(); H_CounterAttack.SkillName = 'Counter Attack'; H_CounterAttack.Type = 'Attack'; H_CounterAttack.Index = Index; H_CounterAttack.BaseValue = 0; H_CounterAttack.AmountPerLevel = 1; HeroSkill[Index] = 'CounterAttack'; ++Index; H_CounterAttack.ParentSkill = ''; H_CounterAttack.Unlock = false; H_CounterAttack.Decay = true; H_CounterAttack.Cost = 100; H_CounterAttack.SkillLevel = 0; H_CounterAttack.Info = 'Number of Attack Charges gained upon taking damage from physical attacks. Not prevented by stun or freeze.'; H_Flurry3xChance = new Object(); H_Flurry3xChance.SkillName = '3x Flurry Chance'; H_Flurry3xChance.Type = 'Attack'; H_Flurry3xChance.Index = Index; H_Flurry3xChance.BaseValue = 0; H_Flurry3xChance.AmountPerLevel = 0.5; HeroSkill[Index] = 'Flurry3xChance'; ++Index; H_Flurry3xChance.ParentSkill = ''; H_Flurry3xChance.Unlock = false; H_Flurry3xChance.Decay = false; H_Flurry3xChance.Cost = 100; H_Flurry3xChance.SkillLevel = 0; H_Flurry3xChance.Info = 'Chance that a normal attack will throw 3x as many swords (Amounts over 100 grant chances for +1 flurry), stacking multiplicatively onto 9x Flurry. '; H_Flurry9xChance = new Object(); H_Flurry9xChance.SkillName = '9x Flurry Chance'; H_Flurry9xChance.Type = 'Attack'; H_Flurry9xChance.Index = Index; H_Flurry9xChance.BaseValue = 0; H_Flurry9xChance.AmountPerLevel = 0.2; HeroSkill[Index] = 'Flurry9xChance'; ++Index; H_Flurry9xChance.ParentSkill = ''; H_Flurry9xChance.Unlock = false; H_Flurry9xChance.Decay = false; H_Flurry9xChance.Cost = 100; H_Flurry9xChance.SkillLevel = 0; H_Flurry9xChance.Info = 'Chance that a normal attack will throw 9x as many swords (Amounts over 100 grant chances for +2 flurry), stacking multiplicatively onto 3x Flurry.'; H_CancelBlockChance = new Object(); H_CancelBlockChance.SkillName = 'Cancel Block Chance'; H_CancelBlockChance.Type = 'Attack'; H_CancelBlockChance.Index = Index; H_CancelBlockChance.BaseValue = 0; H_CancelBlockChance.AmountPerLevel = 0.8; HeroSkill[Index] = 'CancelBlockChance'; ++Index; H_CancelBlockChance.ParentSkill = ''; H_CancelBlockChance.Unlock = false; H_CancelBlockChance.Decay = true; H_CancelBlockChance.Cost = 100; H_CancelBlockChance.SkillLevel = 0; H_CancelBlockChance.Info = 'Chance to cancel an enemy block and deal full damage.'; H_PhysicalArmorPenetration = new Object(); H_PhysicalArmorPenetration.SkillName = 'Physical Armor Penetration'; H_PhysicalArmorPenetration.Type = 'Attack'; H_PhysicalArmorPenetration.Index = Index; H_PhysicalArmorPenetration.BaseValue = 0; H_PhysicalArmorPenetration.AmountPerLevel = 1; HeroSkill[Index] = 'PhysicalArmorPenetration'; ++Index; H_PhysicalArmorPenetration.ParentSkill = ''; H_PhysicalArmorPenetration.Unlock = false; H_PhysicalArmorPenetration.Decay = false; H_PhysicalArmorPenetration.Cost = 100; H_PhysicalArmorPenetration.SkillLevel = 0; H_PhysicalArmorPenetration.Info = 'Amount of Physical Damage Reduction that is ignored by damage from auto-attacks or physical damage items. Amounts exceeding the target\'s defense skills multiply damage.'; H_EnergyShieldDamageFlat = new Object(); H_EnergyShieldDamageFlat.SkillName = 'E-Shield Damage (flat)'; H_EnergyShieldDamageFlat.Type = 'Attack'; H_EnergyShieldDamageFlat.Index = Index; H_EnergyShieldDamageFlat.BaseValue = 0; H_EnergyShieldDamageFlat.AmountPerLevel = 2; HeroSkill[Index] = 'EnergyShieldDamageFlat'; ++Index; H_EnergyShieldDamageFlat.ParentSkill = ''; H_EnergyShieldDamageFlat.Unlock = false; H_EnergyShieldDamageFlat.Decay = false; H_EnergyShieldDamageFlat.Cost = 100; H_EnergyShieldDamageFlat.SkillLevel = 0; H_EnergyShieldDamageFlat.Info = 'Damages Energy Shield as an on-hit effect. Calculated before other types of damage and not affected by damage reduction.'; H_RageChance = new Object(); H_RageChance.SkillName = 'Rage Chance'; H_RageChance.Type = 'Attack'; H_RageChance.Index = Index; H_RageChance.BaseValue = 0; H_RageChance.AmountPerLevel = 1; HeroSkill[Index] = 'RageChance'; ++Index; H_RageChance.ParentSkill = ''; H_RageChance.Unlock = false; H_RageChance.Decay = true; H_RageChance.Cost = 100; H_RageChance.SkillLevel = 0; H_RageChance.Info = 'Chance to add a stacking Rage Damage Bonus after any normal attack, making all physical attacks and items have higher base damage.'; H_RageDamageBonusFlat = new Object(); H_RageDamageBonusFlat.SkillName = 'Rage Damage Bonus (flat)'; H_RageDamageBonusFlat.Type = 'Attack'; H_RageDamageBonusFlat.Index = Index; H_RageDamageBonusFlat.BaseValue = 1; H_RageDamageBonusFlat.AmountPerLevel = 0.1; HeroSkill[Index] = 'RageDamageBonusFlat'; ++Index; H_RageDamageBonusFlat.ParentSkill = 'RageChance'; H_RageDamageBonusFlat.Unlock = false; H_RageDamageBonusFlat.Decay = false; H_RageDamageBonusFlat.Cost = 100; H_RageDamageBonusFlat.SkillLevel = 0; H_RageDamageBonusFlat.Info = 'A stacking amount of base damage added to normal attacks and physical damage items.'; H_LifeStealPcnt = new Object(); H_LifeStealPcnt.SkillName = 'Lifesteal (%)'; H_LifeStealPcnt.Type = 'Attack'; H_LifeStealPcnt.Index = Index; H_LifeStealPcnt.BaseValue = 0; H_LifeStealPcnt.AmountPerLevel = 0.5; HeroSkill[Index] = 'LifeStealPcnt'; ++Index; H_LifeStealPcnt.ParentSkill = ''; H_LifeStealPcnt.Unlock = false; H_LifeStealPcnt.Decay = false; H_LifeStealPcnt.Cost = 100; H_LifeStealPcnt.SkillLevel = 0; H_LifeStealPcnt.Info = 'A percentage of normal attack damage that is returned as healing to your HP. Calculated after enemy resist and block.'; H_HPGainOnHit = new Object(); H_HPGainOnHit.SkillName = 'HP Gain On-Hit'; H_HPGainOnHit.Type = 'Attack'; H_HPGainOnHit.Index = Index; H_HPGainOnHit.BaseValue = 0; H_HPGainOnHit.AmountPerLevel = 1; HeroSkill[Index] = 'HPGainOnHit'; ++Index; H_HPGainOnHit.ParentSkill = ''; H_HPGainOnHit.Unlock = false; H_HPGainOnHit.Decay = false; H_HPGainOnHit.Cost = 100; H_HPGainOnHit.SkillLevel = 0; H_HPGainOnHit.Info = 'A flat amount of HP healing per normal attack hit.'; H_ArmorOnAttack = new Object(); H_ArmorOnAttack.SkillName = 'Armor On-Attack'; H_ArmorOnAttack.Type = 'Attack'; H_ArmorOnAttack.Index = Index; H_ArmorOnAttack.BaseValue = 0; H_ArmorOnAttack.AmountPerLevel = 1; HeroSkill[Index] = 'ArmorOnAttack'; ++Index; H_ArmorOnAttack.ParentSkill = ''; H_ArmorOnAttack.Unlock = false; H_ArmorOnAttack.Decay = false; H_ArmorOnAttack.Cost = 100; H_ArmorOnAttack.SkillLevel = 0; H_ArmorOnAttack.Info = 'An amount of Armor gained immediately after each auto-attack.'; H_ExecutionBelowPcnt = new Object(); H_ExecutionBelowPcnt.SkillName = 'Execution Below HP%'; H_ExecutionBelowPcnt.Type = 'Attack'; H_ExecutionBelowPcnt.Index = Index; H_ExecutionBelowPcnt.BaseValue = 0; H_ExecutionBelowPcnt.AmountPerLevel = 0.5; HeroSkill[Index] = 'ExecutionBelowPcnt'; ++Index; H_ExecutionBelowPcnt.ParentSkill = ''; H_ExecutionBelowPcnt.Unlock = false; H_ExecutionBelowPcnt.Decay = true; H_ExecutionBelowPcnt.Cost = 100; H_ExecutionBelowPcnt.SkillLevel = 0; H_ExecutionBelowPcnt.Info = 'Deal bonus % physical damage if enemy falls below this amount of HP.'; H_ExecutionDamageBonusPcnt = new Object(); H_ExecutionDamageBonusPcnt.SkillName = 'Execution Damage Bonus (%)'; H_ExecutionDamageBonusPcnt.Type = 'Attack'; H_ExecutionDamageBonusPcnt.Index = Index; H_ExecutionDamageBonusPcnt.BaseValue = 50; H_ExecutionDamageBonusPcnt.AmountPerLevel = 5; HeroSkill[Index] = 'ExecutionDamageBonusPcnt'; ++Index; H_ExecutionDamageBonusPcnt.ParentSkill = 'ExecutionBelowPcnt'; H_ExecutionDamageBonusPcnt.Unlock = false; H_ExecutionDamageBonusPcnt.Decay = false; H_ExecutionDamageBonusPcnt.Cost = 100; H_ExecutionDamageBonusPcnt.SkillLevel = 0; H_ExecutionDamageBonusPcnt.Info = 'Increases amount of execution physical damage multiplication.'; H_MagicChargesOnAttack = new Object(); H_MagicChargesOnAttack.SkillName = 'Magic Charges On-Attack'; H_MagicChargesOnAttack.Type = 'Attack'; H_MagicChargesOnAttack.Index = Index; H_MagicChargesOnAttack.BaseValue = 0; H_MagicChargesOnAttack.AmountPerLevel = 1; HeroSkill[Index] = 'MagicChargesOnAttack'; ++Index; H_MagicChargesOnAttack.ParentSkill = ''; H_MagicChargesOnAttack.Unlock = false; H_MagicChargesOnAttack.Decay = true; H_MagicChargesOnAttack.Cost = 100; H_MagicChargesOnAttack.SkillLevel = 0; H_MagicChargesOnAttack.Info = 'An amount of Magic Charges gained immediately after each auto-attack.'; H_EnchantedAttackChance = new Object(); H_EnchantedAttackChance.SkillName = 'Enchanted Attack Chance'; H_EnchantedAttackChance.Type = 'Attack'; H_EnchantedAttackChance.Index = Index; H_EnchantedAttackChance.BaseValue = 0; H_EnchantedAttackChance.AmountPerLevel = 1; HeroSkill[Index] = 'EnchantedAttackChance'; ++Index; H_EnchantedAttackChance.ParentSkill = ''; H_EnchantedAttackChance.Unlock = false; H_EnchantedAttackChance.Decay = true; H_EnchantedAttackChance.Cost = 100; H_EnchantedAttackChance.SkillLevel = 0; H_EnchantedAttackChance.Info = 'Chance that any attack is enchanted by your Magic skill set, adding all Magic on-hit damage, effects, and statuses to your auto-attack.'; H_MagicDamage = new Object(); H_MagicDamage.SkillName = 'Magic Damage'; H_MagicDamage.Type = 'Magic'; H_MagicDamage.Index = Index; H_MagicDamage.BaseValue = 80; H_MagicDamage.AmountPerLevel = 4; HeroSkill[Index] = 'MagicDamage'; ++Index; H_MagicDamage.ParentSkill = ''; H_MagicDamage.Unlock = true; H_MagicDamage.Decay = false; H_MagicDamage.Cost = 100; H_MagicDamage.SkillLevel = 0; H_MagicDamage.Info = 'The base amount of magic damage your auto-casted magic spell inflicts.'; H_CastRate = new Object(); H_CastRate.SkillName = 'Cast Rate'; H_CastRate.Type = 'Magic'; H_CastRate.Index = Index; H_CastRate.BaseValue = 20; H_CastRate.AmountPerLevel = 1; HeroSkill[Index] = 'CastRate'; ++Index; H_CastRate.ParentSkill = ''; H_CastRate.Unlock = true; H_CastRate.Decay = false; H_CastRate.Cost = 100; H_CastRate.SkillLevel = 0; H_CastRate.Info = 'The speed at which you gain Magic Charges while channeling. Each auto-casted magic spell uses 1000 Magic Charges and this skill generates 24* Magic Charges per second.'; H_ManaRegenBonus = new Object(); H_ManaRegenBonus.SkillName = 'Mana Regen Bonus'; H_ManaRegenBonus.Type = 'Magic'; H_ManaRegenBonus.Index = Index; H_ManaRegenBonus.BaseValue = 0; H_ManaRegenBonus.AmountPerLevel = 3; HeroSkill[Index] = 'ManaRegenBonus'; ++Index; H_ManaRegenBonus.ParentSkill = ''; H_ManaRegenBonus.Unlock = false; H_ManaRegenBonus.Decay = true; H_ManaRegenBonus.Cost = 100; H_ManaRegenBonus.SkillLevel = 0; H_ManaRegenBonus.Info = 'Increases the amount of time you are able to channel Magic Charges before resting, and decreases the amount of time spent resting.'; H_Cast5xChance = new Object(); H_Cast5xChance.SkillName = '5x Cast Chance'; H_Cast5xChance.Type = 'Magic'; H_Cast5xChance.Index = Index; H_Cast5xChance.BaseValue = 0; H_Cast5xChance.AmountPerLevel = 0.4; HeroSkill[Index] = 'Cast5xChance'; ++Index; H_Cast5xChance.ParentSkill = ''; H_Cast5xChance.Unlock = false; H_Cast5xChance.Decay = false; H_Cast5xChance.Cost = 100; H_Cast5xChance.SkillLevel = 0; H_Cast5xChance.Info = 'Chance to launch 5x magic projectiles for your magic spell (Amounts over 100 grant chances for +1 cast), stacking multiplicatively onto the 25x Cast skill.'; H_Cast25xChance = new Object(); H_Cast25xChance.SkillName = '25x Cast Chance'; H_Cast25xChance.Type = 'Magic'; H_Cast25xChance.Index = Index; H_Cast25xChance.BaseValue = 0; H_Cast25xChance.AmountPerLevel = 0.1; HeroSkill[Index] = 'Cast25xChance'; ++Index; H_Cast25xChance.ParentSkill = ''; H_Cast25xChance.Unlock = false; H_Cast25xChance.Decay = false; H_Cast25xChance.Cost = 100; H_Cast25xChance.SkillLevel = 0; H_Cast25xChance.Info = 'Chance to launch 25x magic projectiles for your magic spell (Amounts over 100 grant chances for +2 cast), stacking multiplicatively onto the 5x Cast skill.'; H_CancelEvadeChance = new Object(); H_CancelEvadeChance.SkillName = 'Cancel Evade Chance'; H_CancelEvadeChance.Type = 'Magic'; H_CancelEvadeChance.Index = Index; H_CancelEvadeChance.BaseValue = 0; H_CancelEvadeChance.AmountPerLevel = 0.8; HeroSkill[Index] = 'CancelEvadeChance'; ++Index; H_CancelEvadeChance.ParentSkill = ''; H_CancelEvadeChance.Unlock = false; H_CancelEvadeChance.Decay = true; H_CancelEvadeChance.Cost = 100; H_CancelEvadeChance.SkillLevel = 0; H_CancelEvadeChance.Info = 'Chance to cancel an enemy evade when your spell hits.'; H_ArmorDamageFlat = new Object(); H_ArmorDamageFlat.SkillName = 'Armor Damage (flat)'; H_ArmorDamageFlat.Type = 'Magic'; H_ArmorDamageFlat.Index = Index; H_ArmorDamageFlat.BaseValue = 0; H_ArmorDamageFlat.AmountPerLevel = 10; HeroSkill[Index] = 'ArmorDamageFlat'; ++Index; H_ArmorDamageFlat.ParentSkill = ''; H_ArmorDamageFlat.Unlock = false; H_ArmorDamageFlat.Decay = false; H_ArmorDamageFlat.Cost = 100; H_ArmorDamageFlat.SkillLevel = 0; H_ArmorDamageFlat.Info = 'Bonus damage added to your spell that can only damage Armor.'; H_IgniteChance = new Object(); H_IgniteChance.SkillName = 'Ignite Chance'; H_IgniteChance.Type = 'Magic'; H_IgniteChance.Index = Index; H_IgniteChance.BaseValue = 0; H_IgniteChance.AmountPerLevel = 1; HeroSkill[Index] = 'IgniteChance'; ++Index; H_IgniteChance.ParentSkill = ''; H_IgniteChance.Unlock = false; H_IgniteChance.Decay = true; H_IgniteChance.Cost = 100; H_IgniteChance.SkillLevel = 0; H_IgniteChance.Info = 'Chance to inflict Ignite each time your spell hits the enemy, causing flat damage over time.'; H_IgniteDamage = new Object(); H_IgniteDamage.SkillName = 'Ignite Damage Bonus'; H_IgniteDamage.Type = 'Magic'; H_IgniteDamage.Index = Index; H_IgniteDamage.BaseValue = 50; H_IgniteDamage.AmountPerLevel = 25; HeroSkill[Index] = 'IgniteDamage'; ++Index; H_IgniteDamage.ParentSkill = 'IgniteChance'; H_IgniteDamage.Unlock = false; H_IgniteDamage.Decay = false; H_IgniteDamage.Cost = 100; H_IgniteDamage.SkillLevel = 0; H_IgniteDamage.Info = 'Bonus damage per second for ignite on your spell. This damage increases by 4% each Stage.'; H_FreezeChance = new Object(); H_FreezeChance.SkillName = 'Freeze Chance'; H_FreezeChance.Type = 'Magic'; H_FreezeChance.Index = Index; H_FreezeChance.BaseValue = 0; H_FreezeChance.AmountPerLevel = 0.8; HeroSkill[Index] = 'FreezeChance'; ++Index; H_FreezeChance.ParentSkill = ''; H_FreezeChance.Unlock = false; H_FreezeChance.Decay = true; H_FreezeChance.Cost = 100; H_FreezeChance.SkillLevel = 0; H_FreezeChance.Info = 'Chance to inflict Freeze each time your spell hits the enemy.'; H_FreezeDuration = new Object(); H_FreezeDuration.SkillName = 'Freeze Duration Bonus'; H_FreezeDuration.Type = 'Magic'; H_FreezeDuration.Index = Index; H_FreezeDuration.BaseValue = 0; H_FreezeDuration.AmountPerLevel = 1; HeroSkill[Index] = 'FreezeDuration'; ++Index; H_FreezeDuration.ParentSkill = 'FreezeChance'; H_FreezeDuration.Unlock = false; H_FreezeDuration.Decay = false; H_FreezeDuration.Cost = 100; H_FreezeDuration.SkillLevel = 0; H_FreezeDuration.Info = 'A bonus amount of time the enemy will be frozen by your spell, 24 = 1 second.'; H_ShockChance = new Object(); H_ShockChance.SkillName = 'Shock Chance'; H_ShockChance.Type = 'Magic'; H_ShockChance.Index = Index; H_ShockChance.BaseValue = 0; H_ShockChance.AmountPerLevel = 0.5; HeroSkill[Index] = 'ShockChance'; ++Index; H_ShockChance.ParentSkill = ''; H_ShockChance.Unlock = false; H_ShockChance.Decay = true; H_ShockChance.Cost = 100; H_ShockChance.SkillLevel = 0; H_ShockChance.Info = 'Chance to inflict Shock when your spell hits the enemy. Shock increases the damage from attacks, spells, and items, but not other statuses.'; H_ShockDamageAmplifyPcnt = new Object(); H_ShockDamageAmplifyPcnt.SkillName = 'Shock Amplify Damage (%)'; H_ShockDamageAmplifyPcnt.Type = 'Magic'; H_ShockDamageAmplifyPcnt.Index = Index; H_ShockDamageAmplifyPcnt.BaseValue = 40; H_ShockDamageAmplifyPcnt.AmountPerLevel = 1; HeroSkill[Index] = 'ShockDamageAmplifyPcnt'; ++Index; H_ShockDamageAmplifyPcnt.ParentSkill = 'ShockChance'; H_ShockDamageAmplifyPcnt.Unlock = false; H_ShockDamageAmplifyPcnt.Decay = false; H_ShockDamageAmplifyPcnt.Cost = 100; H_ShockDamageAmplifyPcnt.SkillLevel = 0; H_ShockDamageAmplifyPcnt.Info = 'An amount of extra damage the enemy takes from all auto-attacks, auto-casted spells, and items, during the Shock effect from your spell.'; H_BurnChance = new Object(); H_BurnChance.SkillName = 'Burn Chance'; H_BurnChance.Type = 'Magic'; H_BurnChance.Index = Index; H_BurnChance.BaseValue = 0; H_BurnChance.AmountPerLevel = 0.5; HeroSkill[Index] = 'BurnChance'; ++Index; H_BurnChance.ParentSkill = ''; H_BurnChance.Unlock = false; H_BurnChance.Decay = true; H_BurnChance.Cost = 100; H_BurnChance.SkillLevel = 0; H_BurnChance.Info = 'Chance to inflict Burn each time your spell hits the enemy, causing all regen and lifesteal to cease for it\'s duration.'; H_BurnDuration = new Object(); H_BurnDuration.SkillName = 'Burn Duration Bonus'; H_BurnDuration.Type = 'Magic'; H_BurnDuration.Index = Index; H_BurnDuration.BaseValue = 0; H_BurnDuration.AmountPerLevel = 1; HeroSkill[Index] = 'BurnDuration'; ++Index; H_BurnDuration.ParentSkill = 'BurnChance'; H_BurnDuration.Unlock = false; H_BurnDuration.Decay = false; H_BurnDuration.Cost = 100; H_BurnDuration.SkillLevel = 0; H_BurnDuration.Info = 'An extra amount of time added to the duration of your Burn effect, 24 = 1 second.'; H_FrostChance = new Object(); H_FrostChance.SkillName = 'Frost Chance'; H_FrostChance.Type = 'Magic'; H_FrostChance.Index = Index; H_FrostChance.BaseValue = 0; H_FrostChance.AmountPerLevel = 1; HeroSkill[Index] = 'FrostChance'; ++Index; H_FrostChance.ParentSkill = ''; H_FrostChance.Unlock = false; H_FrostChance.Decay = true; H_FrostChance.Cost = 100; H_FrostChance.SkillLevel = 0; H_FrostChance.Info = 'Chance to inflict Frost each time your spell hits the enemy, causing reduced attack speed for up to 4 seconds.'; H_FrostAttackSpeedReduction = new Object(); H_FrostAttackSpeedReduction.SkillName = 'Frost Attack Speed Reduction (%)'; H_FrostAttackSpeedReduction.Type = 'Magic'; H_FrostAttackSpeedReduction.Index = Index; H_FrostAttackSpeedReduction.BaseValue = 35; H_FrostAttackSpeedReduction.AmountPerLevel = 0.55; HeroSkill[Index] = 'FrostAttackSpeedReduction'; ++Index; H_FrostAttackSpeedReduction.ParentSkill = 'FrostChance'; H_FrostAttackSpeedReduction.Unlock = false; H_FrostAttackSpeedReduction.Decay = true; H_FrostAttackSpeedReduction.Cost = 100; H_FrostAttackSpeedReduction.SkillLevel = 0; H_FrostAttackSpeedReduction.Info = 'An amount of attack speed and cast rate reduction inflicted during the Frost effect of your spell.'; H_PoisonChance = new Object(); H_PoisonChance.SkillName = 'Poison Chance'; H_PoisonChance.Type = 'Magic'; H_PoisonChance.Index = Index; H_PoisonChance.BaseValue = 0; H_PoisonChance.AmountPerLevel = 0.5; HeroSkill[Index] = 'PoisonChance'; ++Index; H_PoisonChance.ParentSkill = ''; H_PoisonChance.Unlock = false; H_PoisonChance.Decay = true; H_PoisonChance.Cost = 100; H_PoisonChance.SkillLevel = 0; H_PoisonChance.Info = 'Chance to inflict Poison each time your spell hits the enemy, causing damage over time based on a % of the spider\'s Current HP.'; H_PoisonDuration = new Object(); H_PoisonDuration.SkillName = 'Poison Duration Bonus'; H_PoisonDuration.Type = 'Magic'; H_PoisonDuration.Index = Index; H_PoisonDuration.BaseValue = 0; H_PoisonDuration.AmountPerLevel = 2; HeroSkill[Index] = 'PoisonDuration'; ++Index; H_PoisonDuration.ParentSkill = 'PoisonChance'; H_PoisonDuration.Unlock = false; H_PoisonDuration.Decay = false; H_PoisonDuration.Cost = 100; H_PoisonDuration.SkillLevel = 0; H_PoisonDuration.Info = 'An extra amount of time the enemy will remained poisoned, 24 = 1 second.'; H_PoisonDamagePcnt = new Object(); H_PoisonDamagePcnt.SkillName = 'Poison Damage (CHP%) Bonus'; H_PoisonDamagePcnt.Type = 'Magic'; H_PoisonDamagePcnt.Index = Index; H_PoisonDamagePcnt.BaseValue = 5; H_PoisonDamagePcnt.AmountPerLevel = 0.1; HeroSkill[Index] = 'PoisonDamagePcnt'; ++Index; H_PoisonDamagePcnt.ParentSkill = 'PoisonChance'; H_PoisonDamagePcnt.Unlock = false; H_PoisonDamagePcnt.Decay = true; H_PoisonDamagePcnt.Cost = 100; H_PoisonDamagePcnt.SkillLevel = 0; H_PoisonDamagePcnt.Info = 'The bonus amount of damage per second based on enemy current HP during the Poison effect of your spell.'; H_AcidChance = new Object(); H_AcidChance.SkillName = 'Acid Chance'; H_AcidChance.Type = 'Magic'; H_AcidChance.Index = Index; H_AcidChance.BaseValue = 0; H_AcidChance.AmountPerLevel = 1; HeroSkill[Index] = 'AcidChance'; ++Index; H_AcidChance.ParentSkill = ''; H_AcidChance.Unlock = false; H_AcidChance.Decay = true; H_AcidChance.Cost = 100; H_AcidChance.SkillLevel = 0; H_AcidChance.Info = 'Chance to inflict Acid each time your spell hits the enemy, causing a stacking damage over time so long as the duration is constantly refreshed.'; H_AcidDamage = new Object(); H_AcidDamage.SkillName = 'Acid Damage Bonus'; H_AcidDamage.Type = 'Magic'; H_AcidDamage.Index = Index; H_AcidDamage.BaseValue = 5; H_AcidDamage.AmountPerLevel = 1; HeroSkill[Index] = 'AcidDamage'; ++Index; H_AcidDamage.ParentSkill = 'AcidChance'; H_AcidDamage.Unlock = false; H_AcidDamage.Decay = false; H_AcidDamage.Cost = 100; H_AcidDamage.SkillLevel = 0; H_AcidDamage.Info = 'Bonus damage per second added each time your spell stacks Acid onto the enemy.'; H_VoidChance = new Object(); H_VoidChance.SkillName = 'Void Chance'; H_VoidChance.Type = 'Magic'; H_VoidChance.Index = Index; H_VoidChance.BaseValue = 0; H_VoidChance.AmountPerLevel = 1; HeroSkill[Index] = 'VoidChance'; ++Index; H_VoidChance.ParentSkill = ''; H_VoidChance.Unlock = false; H_VoidChance.Decay = true; H_VoidChance.Cost = 100; H_VoidChance.SkillLevel = 0; H_VoidChance.Info = 'Chance to inflict Void each time your spell hits the enemy, reducing MaxHP by a flat amount.'; H_VoidMHPReduction = new Object(); H_VoidMHPReduction.SkillName = 'Void MHP Reduction'; H_VoidMHPReduction.Type = 'Magic'; H_VoidMHPReduction.Index = Index; H_VoidMHPReduction.BaseValue = 10; H_VoidMHPReduction.AmountPerLevel = 2; HeroSkill[Index] = 'VoidMHPReduction'; ++Index; H_VoidMHPReduction.ParentSkill = 'VoidChance'; H_VoidMHPReduction.Unlock = false; H_VoidMHPReduction.Decay = false; H_VoidMHPReduction.Cost = 100; H_VoidMHPReduction.SkillLevel = 0; H_VoidMHPReduction.Info = 'The amount of MaxHP reduction caused by each Void.'; H_DirectDamage = new Object(); H_DirectDamage.SkillName = 'DirectDamage'; H_DirectDamage.Type = 'Magic'; H_DirectDamage.Index = Index; H_DirectDamage.BaseValue = 0; H_DirectDamage.AmountPerLevel = 1; HeroSkill[Index] = 'DirectDamage'; ++Index; H_DirectDamage.ParentSkill = ''; H_DirectDamage.Unlock = false; H_DirectDamage.Decay = false; H_DirectDamage.Cost = 100; H_DirectDamage.SkillLevel = 0; H_DirectDamage.Info = 'Damage done directly to enemy HP when hit by your spell. This damage cannot be resisted, and cannot benefit from damage multipliers such as Shock/Cascade.'; H_CascadeChance = new Object(); H_CascadeChance.SkillName = 'Cascade Chance'; H_CascadeChance.Type = 'Magic'; H_CascadeChance.Index = Index; H_CascadeChance.BaseValue = 0; H_CascadeChance.AmountPerLevel = 1; HeroSkill[Index] = 'CascadeChance'; ++Index; H_CascadeChance.ParentSkill = ''; H_CascadeChance.Unlock = false; H_CascadeChance.Decay = true; H_CascadeChance.Cost = 100; H_CascadeChance.SkillLevel = 0; H_CascadeChance.Info = 'Chance to add to your Cascade amount after casting each spell, causing increased magic damage on your spell and items.'; H_CascadeDamageBonusPcnt = new Object(); H_CascadeDamageBonusPcnt.SkillName = 'Cascade Damage Bonus (%)'; H_CascadeDamageBonusPcnt.Type = 'Magic'; H_CascadeDamageBonusPcnt.Index = Index; H_CascadeDamageBonusPcnt.BaseValue = 5; H_CascadeDamageBonusPcnt.AmountPerLevel = 0.1; HeroSkill[Index] = 'CascadeDamageBonusPcnt'; ++Index; H_CascadeDamageBonusPcnt.ParentSkill = 'CascadeChance'; H_CascadeDamageBonusPcnt.Unlock = false; H_CascadeDamageBonusPcnt.Decay = false; H_CascadeDamageBonusPcnt.Cost = 100; H_CascadeDamageBonusPcnt.SkillLevel = 0; H_CascadeDamageBonusPcnt.Info = 'Amount of bonus % damage each cascade adds to your total.'; H_HealChance = new Object(); H_HealChance.SkillName = 'Heal Chance'; H_HealChance.Type = 'Magic'; H_HealChance.Index = Index; H_HealChance.BaseValue = 0; H_HealChance.AmountPerLevel = 1; HeroSkill[Index] = 'HealChance'; ++Index; H_HealChance.ParentSkill = ''; H_HealChance.Unlock = false; H_HealChance.Decay = true; H_HealChance.Cost = 100; H_HealChance.SkillLevel = 0; H_HealChance.Info = 'Chance to heal an amount of HP upon casting your spell.'; H_HealAmount = new Object(); H_HealAmount.SkillName = 'Heal Amount'; H_HealAmount.Type = 'Magic'; H_HealAmount.Index = Index; H_HealAmount.BaseValue = 80; H_HealAmount.AmountPerLevel = 40; HeroSkill[Index] = 'HealAmount'; ++Index; H_HealAmount.ParentSkill = 'HealChance'; H_HealAmount.Unlock = false; H_HealAmount.Decay = false; H_HealAmount.Cost = 100; H_HealAmount.SkillLevel = 0; H_HealAmount.Info = 'The amount of HP restored from your spell\'s heal effect.'; H_SpellvampPcnt = new Object(); H_SpellvampPcnt.SkillName = 'Spellvamp (%)'; H_SpellvampPcnt.Type = 'Magic'; H_SpellvampPcnt.Index = Index; H_SpellvampPcnt.BaseValue = 0; H_SpellvampPcnt.AmountPerLevel = 0.1; HeroSkill[Index] = 'SpellvampPcnt'; ++Index; H_SpellvampPcnt.ParentSkill = ''; H_SpellvampPcnt.Unlock = false; H_SpellvampPcnt.Decay = false; H_SpellvampPcnt.Cost = 100; H_SpellvampPcnt.SkillLevel = 0; H_SpellvampPcnt.Info = 'A percentage of magic damage that is returned as healing to your HP. Calculated before enemy resist, but negated by evade.'; H_SkillCostReduction = new Object(); H_SkillCostReduction.SkillName = 'Skill Cost Reduction'; H_SkillCostReduction.Type = 'Utility'; H_SkillCostReduction.Index = Index; H_SkillCostReduction.BaseValue = 0; H_SkillCostReduction.AmountPerLevel = 0.5; HeroSkill[Index] = 'SkillCostReduction'; ++Index; H_SkillCostReduction.ParentSkill = ''; H_SkillCostReduction.Unlock = true; H_SkillCostReduction.Decay = false; H_SkillCostReduction.Cost = 100; H_SkillCostReduction.SkillLevel = 0; H_SkillCostReduction.Info = 'An amount of star-cost reduction for all skills.'; H_StarGainBonus = new Object(); H_StarGainBonus.SkillName = 'Star Gain Bonus'; H_StarGainBonus.Type = 'Utility'; H_StarGainBonus.Index = Index; H_StarGainBonus.BaseValue = 0; H_StarGainBonus.AmountPerLevel = 4; HeroSkill[Index] = 'StarGainBonus'; ++Index; H_StarGainBonus.ParentSkill = ''; H_StarGainBonus.Unlock = true; H_StarGainBonus.Decay = false; H_StarGainBonus.Cost = 100; H_StarGainBonus.SkillLevel = 0; H_StarGainBonus.Info = 'An amount of extra skill stars gained each stage.'; H_Star2xChance = new Object(); H_Star2xChance.SkillName = '2x Star Chance'; H_Star2xChance.Type = 'Utility'; H_Star2xChance.Index = Index; H_Star2xChance.BaseValue = 0; H_Star2xChance.AmountPerLevel = 0.5; HeroSkill[Index] = 'Star2xChance'; ++Index; H_Star2xChance.ParentSkill = ''; H_Star2xChance.Unlock = false; H_Star2xChance.Decay = true; H_Star2xChance.Cost = 100; H_Star2xChance.SkillLevel = 0; H_Star2xChance.Info = 'A chance to gain double skill stars for a stage. Calculated after Star Gain Bonus.'; H_BookPriceReductionFlat = new Object(); H_BookPriceReductionFlat.SkillName = 'Tome Price Reduction (flat)'; H_BookPriceReductionFlat.Type = 'Utility'; H_BookPriceReductionFlat.Index = Index; H_BookPriceReductionFlat.BaseValue = 0; H_BookPriceReductionFlat.AmountPerLevel = 4; HeroSkill[Index] = 'BookPriceReductionFlat'; ++Index; H_BookPriceReductionFlat.ParentSkill = ''; H_BookPriceReductionFlat.Unlock = false; H_BookPriceReductionFlat.Decay = false; H_BookPriceReductionFlat.Cost = 100; H_BookPriceReductionFlat.SkillLevel = 0; H_BookPriceReductionFlat.Info = 'A flat price reduction for the cost of skill tomes in store.'; H_ItemPriceReductionPcnt = new Object(); H_ItemPriceReductionPcnt.SkillName = 'Item Price Reduction (%)'; H_ItemPriceReductionPcnt.Type = 'Utility'; H_ItemPriceReductionPcnt.Index = Index; H_ItemPriceReductionPcnt.BaseValue = 0; H_ItemPriceReductionPcnt.AmountPerLevel = 0.5; HeroSkill[Index] = 'ItemPriceReductionPcnt'; ++Index; H_ItemPriceReductionPcnt.ParentSkill = ''; H_ItemPriceReductionPcnt.Unlock = false; H_ItemPriceReductionPcnt.Decay = true; H_ItemPriceReductionPcnt.Cost = 100; H_ItemPriceReductionPcnt.SkillLevel = 0; H_ItemPriceReductionPcnt.Info = 'A % reduction in price for all item drafts and market items in store.'; H_ItemDestroyValueIncreaseFlat = new Object(); H_ItemDestroyValueIncreaseFlat.SkillName = 'Item Destroy Value Increase (flat)'; H_ItemDestroyValueIncreaseFlat.Type = 'Utility'; H_ItemDestroyValueIncreaseFlat.Index = Index; H_ItemDestroyValueIncreaseFlat.BaseValue = 0; H_ItemDestroyValueIncreaseFlat.AmountPerLevel = 2; HeroSkill[Index] = 'ItemDestroyValueIncreaseFlat'; ++Index; H_ItemDestroyValueIncreaseFlat.ParentSkill = ''; H_ItemDestroyValueIncreaseFlat.Unlock = false; H_ItemDestroyValueIncreaseFlat.Decay = false; H_ItemDestroyValueIncreaseFlat.Cost = 100; H_ItemDestroyValueIncreaseFlat.SkillLevel = 0; H_ItemDestroyValueIncreaseFlat.Info = 'A flat increase in stars gained from destroying any item.'; H_ItemSellValueIncreasePcnt = new Object(); H_ItemSellValueIncreasePcnt.SkillName = 'Item Sell Value Increase (%)'; H_ItemSellValueIncreasePcnt.Type = 'Utility'; H_ItemSellValueIncreasePcnt.Index = Index; H_ItemSellValueIncreasePcnt.BaseValue = 0; H_ItemSellValueIncreasePcnt.AmountPerLevel = 1; HeroSkill[Index] = 'ItemSellValueIncreasePcnt'; ++Index; H_ItemSellValueIncreasePcnt.ParentSkill = ''; H_ItemSellValueIncreasePcnt.Unlock = false; H_ItemSellValueIncreasePcnt.Decay = true; H_ItemSellValueIncreasePcnt.Cost = 100; H_ItemSellValueIncreasePcnt.SkillLevel = 0; H_ItemSellValueIncreasePcnt.Info = 'A % increase in sell price for all items obtained.'; H_GoldFindIncreaseFlat = new Object(); H_GoldFindIncreaseFlat.SkillName = 'Gold Find Increase (flat)'; H_GoldFindIncreaseFlat.Type = 'Utility'; H_GoldFindIncreaseFlat.Index = Index; H_GoldFindIncreaseFlat.BaseValue = 0; H_GoldFindIncreaseFlat.AmountPerLevel = 1; HeroSkill[Index] = 'GoldFindIncreaseFlat'; ++Index; H_GoldFindIncreaseFlat.ParentSkill = ''; H_GoldFindIncreaseFlat.Unlock = false; H_GoldFindIncreaseFlat.Decay = false; H_GoldFindIncreaseFlat.Cost = 100; H_GoldFindIncreaseFlat.SkillLevel = 0; H_GoldFindIncreaseFlat.Info = 'A flat amount of extra gold gained for each stage.'; H_GoldFindIncreasePcnt = new Object(); H_GoldFindIncreasePcnt.SkillName = 'Gold Find Increase (%)'; H_GoldFindIncreasePcnt.Type = 'Utility'; H_GoldFindIncreasePcnt.Index = Index; H_GoldFindIncreasePcnt.BaseValue = 0; H_GoldFindIncreasePcnt.AmountPerLevel = 1; HeroSkill[Index] = 'GoldFindIncreasePcnt'; ++Index; H_GoldFindIncreasePcnt.ParentSkill = ''; H_GoldFindIncreasePcnt.Unlock = false; H_GoldFindIncreasePcnt.Decay = true; H_GoldFindIncreasePcnt.Cost = 100; H_GoldFindIncreasePcnt.SkillLevel = 0; H_GoldFindIncreasePcnt.Info = 'A % increase for gold found on each stage. Calculated after flat Gold Find Increase.'; H_ExtraItemFind = new Object(); H_ExtraItemFind.SkillName = 'Extra Item Find'; H_ExtraItemFind.Type = 'Utility'; H_ExtraItemFind.Index = Index; H_ExtraItemFind.BaseValue = 0; H_ExtraItemFind.AmountPerLevel = 2; HeroSkill[Index] = 'ExtraItemFind'; ++Index; H_ExtraItemFind.ParentSkill = ''; H_ExtraItemFind.Unlock = false; H_ExtraItemFind.Decay = true; H_ExtraItemFind.Cost = 100; H_ExtraItemFind.SkillLevel = 0; H_ExtraItemFind.Info = '% increase to chances of finding items each stage, and how many items are found at one time.'; H_ItemRarityIncreaseFlat = new Object(); H_ItemRarityIncreaseFlat.SkillName = 'Item Rarity Increase (flat)'; H_ItemRarityIncreaseFlat.Type = 'Utility'; H_ItemRarityIncreaseFlat.Index = Index; H_ItemRarityIncreaseFlat.BaseValue = 0; H_ItemRarityIncreaseFlat.AmountPerLevel = 1; HeroSkill[Index] = 'ItemRarityIncreaseFlat'; ++Index; H_ItemRarityIncreaseFlat.ParentSkill = ''; H_ItemRarityIncreaseFlat.Unlock = false; H_ItemRarityIncreaseFlat.Decay = false; H_ItemRarityIncreaseFlat.Cost = 100; H_ItemRarityIncreaseFlat.SkillLevel = 0; H_ItemRarityIncreaseFlat.Info = 'A flat amount of extra rarity value for all items before % modifiers such as stage bonus, challenge bonus, shop bonus, etc.'; H_RarityBonusChance = new Object(); H_RarityBonusChance.SkillName = 'Rarity Bonus Chance'; H_RarityBonusChance.Type = 'BANNED'; H_RarityBonusChance.Index = Index; H_RarityBonusChance.BaseValue = 1; H_RarityBonusChance.AmountPerLevel = 0.2; HeroSkill[Index] = 'RarityBonusChance'; ++Index; H_RarityBonusChance.ParentSkill = ''; H_RarityBonusChance.Unlock = false; H_RarityBonusChance.Decay = true; H_RarityBonusChance.Cost = 100; H_RarityBonusChance.SkillLevel = 0; H_RarityBonusChance.Info = 'A chance that any item will randomly gain a large rarity bonus.'; H_RarityBonusAmountFlat = new Object(); H_RarityBonusAmountFlat.SkillName = 'Rarity Bonus Amount (flat)'; H_RarityBonusAmountFlat.Type = 'BANNED'; H_RarityBonusAmountFlat.Index = Index; H_RarityBonusAmountFlat.BaseValue = 50; H_RarityBonusAmountFlat.AmountPerLevel = 3; HeroSkill[Index] = 'RarityBonusAmountFlat'; ++Index; H_RarityBonusAmountFlat.ParentSkill = 'RarityBonusChance'; H_RarityBonusAmountFlat.Unlock = false; H_RarityBonusAmountFlat.Decay = false; H_RarityBonusAmountFlat.Cost = 100; H_RarityBonusAmountFlat.SkillLevel = 0; H_RarityBonusAmountFlat.Info = 'The flat amount of additional rarity the random bonus gives on successful rolls of Rarity Bonus Chance.'; H_RarityBonusAmountPcnt = new Object(); H_RarityBonusAmountPcnt.SkillName = 'Rarity Bonus Amount (%)'; H_RarityBonusAmountPcnt.Type = 'BANNED'; H_RarityBonusAmountPcnt.Index = Index; H_RarityBonusAmountPcnt.BaseValue = 10; H_RarityBonusAmountPcnt.AmountPerLevel = 1; HeroSkill[Index] = 'RarityBonusAmountPcnt'; ++Index; H_RarityBonusAmountPcnt.ParentSkill = 'RarityBonusChance'; H_RarityBonusAmountPcnt.Unlock = false; H_RarityBonusAmountPcnt.Decay = false; H_RarityBonusAmountPcnt.Cost = 100; H_RarityBonusAmountPcnt.SkillLevel = 0; H_RarityBonusAmountPcnt.Info = 'A bonus % amount of rarity added to an item, calculated after item rarity and flat bonus on successful rolls of Rarity Bonus Chance.'; H_ExtraPotionsRarity = new Object(); H_ExtraPotionsRarity.SkillName = 'Extra Potions Rarity'; H_ExtraPotionsRarity.Type = 'Utility'; H_ExtraPotionsRarity.Index = Index; H_ExtraPotionsRarity.BaseValue = 0; H_ExtraPotionsRarity.AmountPerLevel = 2; HeroSkill[Index] = 'ExtraPotionsRarity'; ++Index; H_ExtraPotionsRarity.ParentSkill = ''; H_ExtraPotionsRarity.Unlock = false; H_ExtraPotionsRarity.Decay = false; H_ExtraPotionsRarity.Cost = 100; H_ExtraPotionsRarity.SkillLevel = 0; H_ExtraPotionsRarity.Info = 'An amount of extra rarity added to Potions before % modifiers such as stage bonus, challenge bonus, shop bonus, etc.'; H_ExtraBombsRarity = new Object(); H_ExtraBombsRarity.SkillName = 'Extra Bombs Rarity'; H_ExtraBombsRarity.Type = 'Utility'; H_ExtraBombsRarity.Index = Index; H_ExtraBombsRarity.BaseValue = 0; H_ExtraBombsRarity.AmountPerLevel = 2; HeroSkill[Index] = 'ExtraBombsRarity'; ++Index; H_ExtraBombsRarity.ParentSkill = ''; H_ExtraBombsRarity.Unlock = false; H_ExtraBombsRarity.Decay = false; H_ExtraBombsRarity.Cost = 100; H_ExtraBombsRarity.SkillLevel = 0; H_ExtraBombsRarity.Info = 'An amount of extra rarity added to Bombs before % modifiers such as stage bonus, challenge bonus, shop bonus, etc.'; H_ExtraSwordsRarity = new Object(); H_ExtraSwordsRarity.SkillName = 'Extra Swords Rarity'; H_ExtraSwordsRarity.Type = 'Utility'; H_ExtraSwordsRarity.Index = Index; H_ExtraSwordsRarity.BaseValue = 0; H_ExtraSwordsRarity.AmountPerLevel = 2; HeroSkill[Index] = 'ExtraSwordsRarity'; ++Index; H_ExtraSwordsRarity.ParentSkill = ''; H_ExtraSwordsRarity.Unlock = false; H_ExtraSwordsRarity.Decay = false; H_ExtraSwordsRarity.Cost = 100; H_ExtraSwordsRarity.SkillLevel = 0; H_ExtraSwordsRarity.Info = 'An amount of extra rarity added to Swords before % modifiers such as stage bonus, challenge bonus, shop bonus, etc.'; H_ExtraAxesRarity = new Object(); H_ExtraAxesRarity.SkillName = 'Extra Axes Rarity'; H_ExtraAxesRarity.Type = 'Utility'; H_ExtraAxesRarity.Index = Index; H_ExtraAxesRarity.BaseValue = 0; H_ExtraAxesRarity.AmountPerLevel = 2; HeroSkill[Index] = 'ExtraAxesRarity'; ++Index; H_ExtraAxesRarity.ParentSkill = ''; H_ExtraAxesRarity.Unlock = false; H_ExtraAxesRarity.Decay = false; H_ExtraAxesRarity.Cost = 100; H_ExtraAxesRarity.SkillLevel = 0; H_ExtraAxesRarity.Info = 'An amount of extra rarity added to Axes before % modifiers such as stage bonus, challenge bonus, shop bonus, etc.'; H_ExtraBowsRarity = new Object(); H_ExtraBowsRarity.SkillName = 'Extra Bows Rarity'; H_ExtraBowsRarity.Type = 'Utility'; H_ExtraBowsRarity.Index = Index; H_ExtraBowsRarity.BaseValue = 0; H_ExtraBowsRarity.AmountPerLevel = 2; HeroSkill[Index] = 'ExtraBowsRarity'; ++Index; H_ExtraBowsRarity.ParentSkill = ''; H_ExtraBowsRarity.Unlock = false; H_ExtraBowsRarity.Decay = false; H_ExtraBowsRarity.Cost = 100; H_ExtraBowsRarity.SkillLevel = 0; H_ExtraBowsRarity.Info = 'An amount of extra rarity added to Bows before % modifiers such as stage bonus, challenge bonus, shop bonus, etc.'; H_ExtraWandsRarity = new Object(); H_ExtraWandsRarity.SkillName = 'Extra Wands Rarity'; H_ExtraWandsRarity.Type = 'Utility'; H_ExtraWandsRarity.Index = Index; H_ExtraWandsRarity.BaseValue = 0; H_ExtraWandsRarity.AmountPerLevel = 2; HeroSkill[Index] = 'ExtraWandsRarity'; ++Index; H_ExtraWandsRarity.ParentSkill = ''; H_ExtraWandsRarity.Unlock = false; H_ExtraWandsRarity.Decay = false; H_ExtraWandsRarity.Cost = 100; H_ExtraWandsRarity.SkillLevel = 0; H_ExtraWandsRarity.Info = 'An amount of extra rarity added to Wands before % modifiers such as stage bonus, challenge bonus, shop bonus, etc.'; H_ExtraShieldsRarity = new Object(); H_ExtraShieldsRarity.SkillName = 'Extra Shields Rarity'; H_ExtraShieldsRarity.Type = 'Utility'; H_ExtraShieldsRarity.Index = Index; H_ExtraShieldsRarity.BaseValue = 0; H_ExtraShieldsRarity.AmountPerLevel = 2; HeroSkill[Index] = 'ExtraShieldsRarity'; ++Index; H_ExtraShieldsRarity.ParentSkill = ''; H_ExtraShieldsRarity.Unlock = false; H_ExtraShieldsRarity.Decay = false; H_ExtraShieldsRarity.Cost = 100; H_ExtraShieldsRarity.SkillLevel = 0; H_ExtraShieldsRarity.Info = 'An amount of extra rarity added to Shields before % modifiers such as stage bonus, challenge bonus, shop bonus, etc.'; H_ExtraCharmsRarity = new Object(); H_ExtraCharmsRarity.SkillName = 'Extra Charms Rarity'; H_ExtraCharmsRarity.Type = 'Utility'; H_ExtraCharmsRarity.Index = Index; H_ExtraCharmsRarity.BaseValue = 0; H_ExtraCharmsRarity.AmountPerLevel = 2; HeroSkill[Index] = 'ExtraCharmsRarity'; ++Index; H_ExtraCharmsRarity.ParentSkill = ''; H_ExtraCharmsRarity.Unlock = false; H_ExtraCharmsRarity.Decay = false; H_ExtraCharmsRarity.Cost = 100; H_ExtraCharmsRarity.SkillLevel = 0; H_ExtraCharmsRarity.Info = 'An amount of extra rarity added to Charms before % modifiers such as stage bonus, challenge bonus, shop bonus, etc.'; H_ItemDefenseRollBonus = new Object(); H_ItemDefenseRollBonus.SkillName = 'Item Defense Roll Bonus'; H_ItemDefenseRollBonus.Type = 'Utility'; H_ItemDefenseRollBonus.Index = Index; H_ItemDefenseRollBonus.BaseValue = 0; H_ItemDefenseRollBonus.AmountPerLevel = 1; HeroSkill[Index] = 'ItemDefenseRollBonus'; ++Index; H_ItemDefenseRollBonus.ParentSkill = ''; H_ItemDefenseRollBonus.Unlock = false; H_ItemDefenseRollBonus.Decay = true; H_ItemDefenseRollBonus.Cost = 100; H_ItemDefenseRollBonus.SkillLevel = 0; H_ItemDefenseRollBonus.Info = 'Augments stat rarity on items, making defense type effects more common and powerful.'; H_ItemAttackRollBonus = new Object(); H_ItemAttackRollBonus.SkillName = 'Item Attack Roll Bonus'; H_ItemAttackRollBonus.Type = 'Utility'; H_ItemAttackRollBonus.Index = Index; H_ItemAttackRollBonus.BaseValue = 0; H_ItemAttackRollBonus.AmountPerLevel = 1; HeroSkill[Index] = 'ItemAttackRollBonus'; ++Index; H_ItemAttackRollBonus.ParentSkill = ''; H_ItemAttackRollBonus.Unlock = false; H_ItemAttackRollBonus.Decay = true; H_ItemAttackRollBonus.Cost = 100; H_ItemAttackRollBonus.SkillLevel = 0; H_ItemAttackRollBonus.Info = 'Augments stat rarity on items, making attack type (red) effects more common and powerful.'; H_ItemMagicRollBonus = new Object(); H_ItemMagicRollBonus.SkillName = 'Item Magic Roll Bonus'; H_ItemMagicRollBonus.Type = 'Utility'; H_ItemMagicRollBonus.Index = Index; H_ItemMagicRollBonus.BaseValue = 0; H_ItemMagicRollBonus.AmountPerLevel = 1; HeroSkill[Index] = 'ItemMagicRollBonus'; ++Index; H_ItemMagicRollBonus.ParentSkill = ''; H_ItemMagicRollBonus.Unlock = false; H_ItemMagicRollBonus.Decay = true; H_ItemMagicRollBonus.Cost = 100; H_ItemMagicRollBonus.SkillLevel = 0; H_ItemMagicRollBonus.Info = 'Augments stat rarity on items, making magic type (blue) effects more common and powerful.'; H_ItemUtilityRollBonus = new Object(); H_ItemUtilityRollBonus.SkillName = 'Item Utility Roll Bonus'; H_ItemUtilityRollBonus.Type = 'Utility'; H_ItemUtilityRollBonus.Index = Index; H_ItemUtilityRollBonus.BaseValue = 0; H_ItemUtilityRollBonus.AmountPerLevel = 1; HeroSkill[Index] = 'ItemUtilityRollBonus'; ++Index; H_ItemUtilityRollBonus.ParentSkill = ''; H_ItemUtilityRollBonus.Unlock = false; H_ItemUtilityRollBonus.Decay = true; H_ItemUtilityRollBonus.Cost = 100; H_ItemUtilityRollBonus.SkillLevel = 0; H_ItemUtilityRollBonus.Info = 'Augments stat rarity on items, making utility type (purple) effects more common and powerful.'; H_ItemSpecialRollBonus = new Object(); H_ItemSpecialRollBonus.SkillName = 'Item Special Roll Bonus'; H_ItemSpecialRollBonus.Type = 'Utility'; H_ItemSpecialRollBonus.Index = Index; H_ItemSpecialRollBonus.BaseValue = 0; H_ItemSpecialRollBonus.AmountPerLevel = 1; HeroSkill[Index] = 'ItemSpecialRollBonus'; ++Index; H_ItemSpecialRollBonus.ParentSkill = ''; H_ItemSpecialRollBonus.Unlock = false; H_ItemSpecialRollBonus.Decay = true; H_ItemSpecialRollBonus.Cost = 100; H_ItemSpecialRollBonus.SkillLevel = 0; H_ItemSpecialRollBonus.Info = 'Augments stat rarity on items, making special type (yellow) effects more common and powerful.'; H_ItemCooldownBonusChance = new Object(); H_ItemCooldownBonusChance.SkillName = 'Item Cooldown Bonus Chance'; H_ItemCooldownBonusChance.Type = 'Utility'; H_ItemCooldownBonusChance.Index = Index; H_ItemCooldownBonusChance.BaseValue = 0; H_ItemCooldownBonusChance.AmountPerLevel = 1; HeroSkill[Index] = 'ItemCooldownBonusChance'; ++Index; H_ItemCooldownBonusChance.ParentSkill = ''; H_ItemCooldownBonusChance.Unlock = false; H_ItemCooldownBonusChance.Decay = true; H_ItemCooldownBonusChance.Cost = 100; H_ItemCooldownBonusChance.SkillLevel = 0; H_ItemCooldownBonusChance.Info = 'A chance that an item generated will have an improved cooldown. Can lower some items to 0 cooldown.'; H_ItemUsesBonusChance = new Object(); H_ItemUsesBonusChance.SkillName = 'Item Uses Bonus Chance'; H_ItemUsesBonusChance.Type = 'Utility'; H_ItemUsesBonusChance.Index = Index; H_ItemUsesBonusChance.BaseValue = 0; H_ItemUsesBonusChance.AmountPerLevel = 1; HeroSkill[Index] = 'ItemUsesBonusChance'; ++Index; H_ItemUsesBonusChance.ParentSkill = ''; H_ItemUsesBonusChance.Unlock = false; H_ItemUsesBonusChance.Decay = true; H_ItemUsesBonusChance.Cost = 100; H_ItemUsesBonusChance.SkillLevel = 0; H_ItemUsesBonusChance.Info = 'A chance that any item generated gains 50% more uses.'; H_DefenseSkillGrowth = new Object(); H_DefenseSkillGrowth.SkillName = 'Defense Skill Growth'; H_DefenseSkillGrowth.Type = 'Utility'; H_DefenseSkillGrowth.Index = Index; H_DefenseSkillGrowth.BaseValue = 0; H_DefenseSkillGrowth.AmountPerLevel = 0.5; HeroSkill[Index] = 'DefenseSkillGrowth'; ++Index; H_DefenseSkillGrowth.ParentSkill = ''; H_DefenseSkillGrowth.Unlock = false; H_DefenseSkillGrowth.Decay = false; H_DefenseSkillGrowth.Cost = 100; H_DefenseSkillGrowth.SkillLevel = 0; H_DefenseSkillGrowth.Info = 'Chance that a random Defense skill gains 1 level at the start of each stage. Amounts over 100 increase the skill levels gained.'; H_AttackSkillGrowth = new Object(); H_AttackSkillGrowth.SkillName = 'Attack Skill Growth'; H_AttackSkillGrowth.Type = 'Utility'; H_AttackSkillGrowth.Index = Index; H_AttackSkillGrowth.BaseValue = 0; H_AttackSkillGrowth.AmountPerLevel = 0.5; HeroSkill[Index] = 'AttackSkillGrowth'; ++Index; H_AttackSkillGrowth.ParentSkill = ''; H_AttackSkillGrowth.Unlock = false; H_AttackSkillGrowth.Decay = false; H_AttackSkillGrowth.Cost = 100; H_AttackSkillGrowth.SkillLevel = 0; H_AttackSkillGrowth.Info = 'Chance that a random Attack skill gains 1 level at the start of each stage. Amounts over 100 increase the skill levels gained.'; H_MagicSkillGrowth = new Object(); H_MagicSkillGrowth.SkillName = 'Magic Skill Growth'; H_MagicSkillGrowth.Type = 'Utility'; H_MagicSkillGrowth.Index = Index; H_MagicSkillGrowth.BaseValue = 0; H_MagicSkillGrowth.AmountPerLevel = 0.5; HeroSkill[Index] = 'MagicSkillGrowth'; ++Index; H_MagicSkillGrowth.ParentSkill = ''; H_MagicSkillGrowth.Unlock = false; H_MagicSkillGrowth.Decay = false; H_MagicSkillGrowth.Cost = 100; H_MagicSkillGrowth.SkillLevel = 0; H_MagicSkillGrowth.Info = 'Chance that a random Magic skill gains 1 level at the start of each stage. Amounts over 100 increase the skill levels gained.'; H_DarkPower = new Object(); H_DarkPower.SkillName = 'Dark Power'; H_DarkPower.Type = 'Evil'; H_DarkPower.Index = Index; H_DarkPower.BaseValue = 0; H_DarkPower.AmountPerLevel = 1; HeroSkill[Index] = 'DarkPower'; ++Index; H_DarkPower.ParentSkill = ''; H_DarkPower.Unlock = false; H_DarkPower.Decay = false; H_DarkPower.Cost = 100; H_DarkPower.SkillLevel = 0; H_DarkPower.Info = 'MaxHP inceased by 2% per level, but damage taken from Poison, Bleed, and Ignite increases by 4% per level.'; H_BloodLink = new Object(); H_BloodLink.SkillName = 'Blood Link'; H_BloodLink.Type = 'Evil'; H_BloodLink.Index = Index; H_BloodLink.BaseValue = 0; H_BloodLink.AmountPerLevel = 1; HeroSkill[Index] = 'BloodLink'; ++Index; H_BloodLink.ParentSkill = ''; H_BloodLink.Unlock = false; H_BloodLink.Decay = false; H_BloodLink.Cost = 100; H_BloodLink.SkillLevel = 0; H_BloodLink.Info = '(8/sec): transfers 2* HP between you and the enemy in an attempt to equalize HP% of both. This amount increases by 4% each Stage.'; H_ArmorLink = new Object(); H_ArmorLink.SkillName = 'Armor Link'; H_ArmorLink.Type = 'Evil'; H_ArmorLink.Index = Index; H_ArmorLink.BaseValue = 0; H_ArmorLink.AmountPerLevel = 0.5; HeroSkill[Index] = 'ArmorLink'; ++Index; H_ArmorLink.ParentSkill = ''; H_ArmorLink.Unlock = false; H_ArmorLink.Decay = false; H_ArmorLink.Cost = 100; H_ArmorLink.SkillLevel = 0; H_ArmorLink.Info = '% of Armor loss from any source also dealt as damage to enemy.'; H_MagicDrain = new Object(); H_MagicDrain.SkillName = 'Magic Drain'; H_MagicDrain.Type = 'Evil'; H_MagicDrain.Index = Index; H_MagicDrain.BaseValue = 0; H_MagicDrain.AmountPerLevel = 1; HeroSkill[Index] = 'MagicDrain'; ++Index; H_MagicDrain.ParentSkill = ''; H_MagicDrain.Unlock = false; H_MagicDrain.Decay = true; H_MagicDrain.Cost = 100; H_MagicDrain.SkillLevel = 0; H_MagicDrain.Info = '(4/sec): Steal 1* Magic Charge from the enemy.'; H_ArmorBurn = new Object(); H_ArmorBurn.SkillName = 'Armor Burn'; H_ArmorBurn.Type = 'Evil'; H_ArmorBurn.Index = Index; H_ArmorBurn.BaseValue = 0; H_ArmorBurn.AmountPerLevel = 1; HeroSkill[Index] = 'ArmorBurn'; ++Index; H_ArmorBurn.ParentSkill = ''; H_ArmorBurn.Unlock = false; H_ArmorBurn.Decay = false; H_ArmorBurn.Cost = 100; H_ArmorBurn.SkillLevel = 0; H_ArmorBurn.Info = '(24/sec): lose 1* Armor to deal 1* Damage. This damage increases by 4% each Stage.'; H_ShieldBurn = new Object(); H_ShieldBurn.SkillName = 'Shield Burn'; H_ShieldBurn.Type = 'Evil'; H_ShieldBurn.Index = Index; H_ShieldBurn.BaseValue = 0; H_ShieldBurn.AmountPerLevel = 1; HeroSkill[Index] = 'ShieldBurn'; ++Index; H_ShieldBurn.ParentSkill = ''; H_ShieldBurn.Unlock = false; H_ShieldBurn.Decay = false; H_ShieldBurn.Cost = 100; H_ShieldBurn.SkillLevel = 0; H_ShieldBurn.Info = '(12/sec): lose 4% of current Energy Shield to deal 1* Damage. This damage increases by 2% for each point of Energy Shield you lose to it\'s cost, and an additional 4% each Stage.'; H_ThousandNeedles = new Object(); H_ThousandNeedles.SkillName = 'Thousand Needles'; H_ThousandNeedles.Type = 'Evil'; H_ThousandNeedles.Index = Index; H_ThousandNeedles.BaseValue = 0; H_ThousandNeedles.AmountPerLevel = 1; HeroSkill[Index] = 'ThousandNeedles'; ++Index; H_ThousandNeedles.ParentSkill = ''; H_ThousandNeedles.Unlock = false; H_ThousandNeedles.Decay = false; H_ThousandNeedles.Cost = 100; H_ThousandNeedles.SkillLevel = 0; H_ThousandNeedles.Info = '(24/sec): lose 0.5* Magic Charges (max 50) to deal 1* Damage. This damage is multiplied by flurry chance.'; H_DemonShop = new Object(); H_DemonShop.SkillName = 'Demon Shop'; H_DemonShop.Type = 'Evil'; H_DemonShop.Index = Index; H_DemonShop.BaseValue = 0; H_DemonShop.AmountPerLevel = 1; HeroSkill[Index] = 'DemonShop'; ++Index; H_DemonShop.ParentSkill = ''; H_DemonShop.Unlock = false; H_DemonShop.Decay = false; H_DemonShop.Cost = 100; H_DemonShop.SkillLevel = 0; H_DemonShop.Info = '(12/sec): lose 1* gold (max 50) to heal 1*, but only while dying. This heal increases by 4% each Stage.'; H_GhostBlade = new Object(); H_GhostBlade.SkillName = 'Ghost Blade'; H_GhostBlade.Type = 'Evil'; H_GhostBlade.Index = Index; H_GhostBlade.BaseValue = 0; H_GhostBlade.AmountPerLevel = 0.2; HeroSkill[Index] = 'GhostBlade'; ++Index; H_GhostBlade.ParentSkill = ''; H_GhostBlade.Unlock = false; H_GhostBlade.Decay = true; H_GhostBlade.Cost = 100; H_GhostBlade.SkillLevel = 0; H_GhostBlade.Info = 'Chance that an Auto-Attack penetrates through Armor to hit HP directly. This augmented attack can apply bleed as if the enemy had no Armor, but has greatly reduced crit chances.'; H_CurseOfAttack = new Object(); H_CurseOfAttack.SkillName = 'Curse Of Attack'; H_CurseOfAttack.Type = 'Evil'; H_CurseOfAttack.Index = Index; H_CurseOfAttack.BaseValue = 0; H_CurseOfAttack.AmountPerLevel = 1; HeroSkill[Index] = 'CurseOfAttack'; ++Index; H_CurseOfAttack.ParentSkill = ''; H_CurseOfAttack.Unlock = false; H_CurseOfAttack.Decay = false; H_CurseOfAttack.Cost = 100; H_CurseOfAttack.SkillLevel = 0; H_CurseOfAttack.Info = '(12/sec): lose 1* HP but all Auto-Attacks have an extra 2* Base Physical Damage.'; H_CurseOfMagic = new Object(); H_CurseOfMagic.SkillName = 'Curse Of Magic'; H_CurseOfMagic.Type = 'Evil'; H_CurseOfMagic.Index = Index; H_CurseOfMagic.BaseValue = 0; H_CurseOfMagic.AmountPerLevel = 1; HeroSkill[Index] = 'CurseOfMagic'; ++Index; H_CurseOfMagic.ParentSkill = ''; H_CurseOfMagic.Unlock = false; H_CurseOfMagic.Decay = false; H_CurseOfMagic.Cost = 100; H_CurseOfMagic.SkillLevel = 0; H_CurseOfMagic.Info = '(3/sec): lose 1* HP but all Auto-Cast Magic Spells have an extra 10* Base Magic Damage.'; H_Vengeance = new Object(); H_Vengeance.SkillName = 'Vengeance'; H_Vengeance.Type = 'Evil'; H_Vengeance.Index = Index; H_Vengeance.BaseValue = 0; H_Vengeance.AmountPerLevel = 1; HeroSkill[Index] = 'Vengeance'; ++Index; H_Vengeance.ParentSkill = ''; H_Vengeance.Unlock = false; H_Vengeance.Decay = true; H_Vengeance.Cost = 100; H_Vengeance.SkillLevel = 0; H_Vengeance.Info = 'Death takes this % of extra time once below 0 HP.'; H_BlackWrath = new Object(); H_BlackWrath.SkillName = 'Black Wrath'; H_BlackWrath.Type = 'Evil'; H_BlackWrath.Index = Index; H_BlackWrath.BaseValue = 0; H_BlackWrath.AmountPerLevel = 1; HeroSkill[Index] = 'BlackWrath'; ++Index; H_BlackWrath.ParentSkill = ''; H_BlackWrath.Unlock = false; H_BlackWrath.Decay = false; H_BlackWrath.Cost = 100; H_BlackWrath.SkillLevel = 0; H_BlackWrath.Info = '(12/sec): Deal 1* Damage while dying. This damage increases by 4% each Stage.'; H_BlackShield = new Object(); H_BlackShield.SkillName = 'Black Shield'; H_BlackShield.Type = 'Evil'; H_BlackShield.Index = Index; H_BlackShield.BaseValue = 0; H_BlackShield.AmountPerLevel = 1; HeroSkill[Index] = 'BlackShield'; ++Index; H_BlackShield.ParentSkill = ''; H_BlackShield.Unlock = false; H_BlackShield.Decay = false; H_BlackShield.Cost = 100; H_BlackShield.SkillLevel = 0; H_BlackShield.Info = '(6/sec): lose 1* HP to gain 1* Energy Shield.'; H_BlackMirror = new Object(); H_BlackMirror.SkillName = 'Black Mirror'; H_BlackMirror.Type = 'Evil'; H_BlackMirror.Index = Index; H_BlackMirror.BaseValue = 0; H_BlackMirror.AmountPerLevel = 1; HeroSkill[Index] = 'BlackMirror'; ++Index; H_BlackMirror.ParentSkill = ''; H_BlackMirror.Unlock = false; H_BlackMirror.Decay = false; H_BlackMirror.Cost = 100; H_BlackMirror.SkillLevel = 0; H_BlackMirror.Info = 'This % of your HP/ES Regeneration, lifesteal, and HP on-Hit, is done as damage to the enemy while you have the Burn ailment.'; H_Suppression = new Object(); H_Suppression.SkillName = 'Suppression'; H_Suppression.Type = 'Evil'; H_Suppression.Index = Index; H_Suppression.BaseValue = 0; H_Suppression.AmountPerLevel = 1; HeroSkill[Index] = 'Suppression'; ++Index; H_Suppression.ParentSkill = ''; H_Suppression.Unlock = false; H_Suppression.Decay = false; H_Suppression.Cost = 100; H_Suppression.SkillLevel = 0; H_Suppression.Info = 'Destroy 1* enemy Magic Charges and 2* enemy Attack Charges each second for the first 3 seconds of each stage.'; H_CursedItems = new Object(); H_CursedItems.SkillName = 'Cursed Items'; H_CursedItems.Type = 'Evil'; H_CursedItems.Index = Index; H_CursedItems.BaseValue = 0; H_CursedItems.AmountPerLevel = 2; HeroSkill[Index] = 'CursedItems'; ++Index; H_CursedItems.ParentSkill = ''; H_CursedItems.Unlock = false; H_CursedItems.Decay = true; H_CursedItems.Cost = 100; H_CursedItems.SkillLevel = 0; H_CursedItems.Info = 'Increases item power at the cost of also increasing item cooldown.'; H_CorrosivePoison = new Object(); H_CorrosivePoison.SkillName = 'Corrosive Poison'; H_CorrosivePoison.Type = 'Evil'; H_CorrosivePoison.Index = Index; H_CorrosivePoison.BaseValue = 0; H_CorrosivePoison.AmountPerLevel = 2; HeroSkill[Index] = 'CorrosivePoison'; ++Index; H_CorrosivePoison.ParentSkill = ''; H_CorrosivePoison.Unlock = false; H_CorrosivePoison.Decay = true; H_CorrosivePoison.Cost = 100; H_CorrosivePoison.SkillLevel = 0; H_CorrosivePoison.Info = '% of Poison Damage on enemy also done to Armor. (Affects Poison from all sources)'; H_HauntedArmor = new Object(); H_HauntedArmor.SkillName = 'Haunted Armor'; H_HauntedArmor.Type = 'Evil'; H_HauntedArmor.Index = Index; H_HauntedArmor.BaseValue = 0; H_HauntedArmor.AmountPerLevel = 1; HeroSkill[Index] = 'HauntedArmor'; ++Index; H_HauntedArmor.ParentSkill = ''; H_HauntedArmor.Unlock = false; H_HauntedArmor.Decay = false; H_HauntedArmor.Cost = 100; H_HauntedArmor.SkillLevel = 0; H_HauntedArmor.Info = '% of Armor loss from any source heals HP.'; H_DestructiveMagic = new Object(); H_DestructiveMagic.SkillName = 'Destructive Magic'; H_DestructiveMagic.Type = 'Evil'; H_DestructiveMagic.Index = Index; H_DestructiveMagic.BaseValue = 0; H_DestructiveMagic.AmountPerLevel = 1; HeroSkill[Index] = 'DestructiveMagic'; ++Index; H_DestructiveMagic.ParentSkill = ''; H_DestructiveMagic.Unlock = false; H_DestructiveMagic.Decay = true; H_DestructiveMagic.Cost = 100; H_DestructiveMagic.SkillLevel = 0; H_DestructiveMagic.Info = 'Increases the base Magic Damage of your spells by this %, at the cost of this % reduction to Mana Regen.'; H_Assimilation = new Object(); H_Assimilation.SkillName = 'Assimilation'; H_Assimilation.Type = 'Evil'; H_Assimilation.Index = Index; H_Assimilation.BaseValue = 0; H_Assimilation.AmountPerLevel = 1; HeroSkill[Index] = 'Assimilation'; ++Index; H_Assimilation.ParentSkill = ''; H_Assimilation.Unlock = false; H_Assimilation.Decay = false; H_Assimilation.Cost = 100; H_Assimilation.SkillLevel = 0; H_Assimilation.Info = '(6/sec): Convert 1* enemy Armor into your own. This amount increases by 4% each Stage.'; H_UndyingAttack = new Object(); H_UndyingAttack.SkillName = 'Undying Attack'; H_UndyingAttack.Type = 'Evil'; H_UndyingAttack.Index = Index; H_UndyingAttack.BaseValue = 0; H_UndyingAttack.AmountPerLevel = 1; HeroSkill[Index] = 'UndyingAttack'; ++Index; H_UndyingAttack.ParentSkill = ''; H_UndyingAttack.Unlock = false; H_UndyingAttack.Decay = false; H_UndyingAttack.Cost = 100; H_UndyingAttack.SkillLevel = 0; H_UndyingAttack.Info = '(8/sec): Gain 1* Attack Charges while dying.'; H_IronMaiden = new Object(); H_IronMaiden.SkillName = 'Iron Maiden'; H_IronMaiden.Type = 'Evil'; H_IronMaiden.Index = Index; H_IronMaiden.BaseValue = 0; H_IronMaiden.AmountPerLevel = 0.2; HeroSkill[Index] = 'IronMaiden'; ++Index; H_IronMaiden.ParentSkill = ''; H_IronMaiden.Unlock = false; H_IronMaiden.Decay = true; H_IronMaiden.Cost = 100; H_IronMaiden.SkillLevel = 0; H_IronMaiden.Info = 'This % of damage done to enemy Armor during combat is also done directly to enemy HP. Damage caps at 1% of enemy MHP, 24 times per second.'; H_Hellfire = new Object(); H_Hellfire.SkillName = 'Hellfire'; H_Hellfire.Type = 'Evil'; H_Hellfire.Index = Index; H_Hellfire.BaseValue = 0; H_Hellfire.AmountPerLevel = 0.5; HeroSkill[Index] = 'Hellfire'; ++Index; H_Hellfire.ParentSkill = ''; H_Hellfire.Unlock = false; H_Hellfire.Decay = true; H_Hellfire.Cost = 100; H_Hellfire.SkillLevel = 0; H_Hellfire.Info = 'This % of Ignite damage done to the enemy is also done directly to enemy HP.'; H_ImpendingDoom = new Object(); H_ImpendingDoom.SkillName = 'Impending Doom'; H_ImpendingDoom.Type = 'Evil'; H_ImpendingDoom.Index = Index; H_ImpendingDoom.BaseValue = 0; H_ImpendingDoom.AmountPerLevel = 1; HeroSkill[Index] = 'ImpendingDoom'; ++Index; H_ImpendingDoom.ParentSkill = ''; H_ImpendingDoom.Unlock = false; H_ImpendingDoom.Decay = true; H_ImpendingDoom.Cost = 100; H_ImpendingDoom.SkillLevel = 0; H_ImpendingDoom.Info = '(24/sec): Temporarily store 1* Attack and Magic Charges until you begin dying or 10 seconds have passed, after which all stored charges are doubled and used immediately.'; H_LifePower = new Object(); H_LifePower.SkillName = 'Life Power'; H_LifePower.Type = 'Holy'; H_LifePower.Index = Index; H_LifePower.BaseValue = 0; H_LifePower.AmountPerLevel = 1; HeroSkill[Index] = 'LifePower'; ++Index; H_LifePower.ParentSkill = ''; H_LifePower.Unlock = false; H_LifePower.Decay = false; H_LifePower.Cost = 100; H_LifePower.SkillLevel = 0; H_LifePower.Info = '% increase to your Max HP'; H_GlobalItemHeal = new Object(); H_GlobalItemHeal.SkillName = 'Global Item Heal'; H_GlobalItemHeal.Type = 'Holy'; H_GlobalItemHeal.Index = Index; H_GlobalItemHeal.BaseValue = 0; H_GlobalItemHeal.AmountPerLevel = 5; HeroSkill[Index] = 'GlobalItemHeal'; ++Index; H_GlobalItemHeal.ParentSkill = ''; H_GlobalItemHeal.Unlock = false; H_GlobalItemHeal.Decay = false; H_GlobalItemHeal.Cost = 100; H_GlobalItemHeal.SkillLevel = 0; H_GlobalItemHeal.Info = 'A flat amount of HP gained when any item is activated.'; H_CalmingNovaChance = new Object(); H_CalmingNovaChance.SkillName = 'Calming Nova Chance'; H_CalmingNovaChance.Type = 'Holy'; H_CalmingNovaChance.Index = Index; H_CalmingNovaChance.BaseValue = 0; H_CalmingNovaChance.AmountPerLevel = 1; HeroSkill[Index] = 'CalmingNovaChance'; ++Index; H_CalmingNovaChance.ParentSkill = ''; H_CalmingNovaChance.Unlock = false; H_CalmingNovaChance.Decay = true; H_CalmingNovaChance.Cost = 100; H_CalmingNovaChance.SkillLevel = 0; H_CalmingNovaChance.Info = 'Chance per second to calm the battle, reducing your Rage by 50% and enemy Rage by 25%.'; H_AttackNullification = new Object(); H_AttackNullification.SkillName = 'Attack Nullification'; H_AttackNullification.Type = 'Holy'; H_AttackNullification.Index = Index; H_AttackNullification.BaseValue = 0; H_AttackNullification.AmountPerLevel = 1; HeroSkill[Index] = 'AttackNullification'; ++Index; H_AttackNullification.ParentSkill = ''; H_AttackNullification.Unlock = false; H_AttackNullification.Decay = true; H_AttackNullification.Cost = 100; H_AttackNullification.SkillLevel = 0; H_AttackNullification.Info = '(4/sec): lose 1* Attack Charges to destroy 2* enemy Attack Charges.'; H_FireStorm = new Object(); H_FireStorm.SkillName = 'Fire Storm'; H_FireStorm.Type = 'Holy'; H_FireStorm.Index = Index; H_FireStorm.BaseValue = 0; H_FireStorm.AmountPerLevel = 1; HeroSkill[Index] = 'FireStorm'; ++Index; H_FireStorm.ParentSkill = ''; H_FireStorm.Unlock = false; H_FireStorm.Decay = false; H_FireStorm.Cost = 100; H_FireStorm.SkillLevel = 0; H_FireStorm.Info = '(4/sec): lose 1* Magic Charges (max 100) to deal 8* Damage to the enemy and 1* Damage to yourself. This damage is multiplied by your Multicast chance skills.'; H_SmiteDamage = new Object(); H_SmiteDamage.SkillName = 'Smite Damage'; H_SmiteDamage.Type = 'Holy'; H_SmiteDamage.Index = Index; H_SmiteDamage.BaseValue = 0; H_SmiteDamage.AmountPerLevel = 1; HeroSkill[Index] = 'SmiteDamage'; ++Index; H_SmiteDamage.ParentSkill = ''; H_SmiteDamage.Unlock = false; H_SmiteDamage.Decay = false; H_SmiteDamage.Cost = 100; H_SmiteDamage.SkillLevel = 0; H_SmiteDamage.Info = '% extra damage added onto on all Auto-Attacks, Items, and Auto-Casted Magic Spells for the first 1 second of each Stage. Also increases Lightning Strike damage.'; H_Conviction = new Object(); H_Conviction.SkillName = 'Conviction'; H_Conviction.Type = 'Holy'; H_Conviction.Index = Index; H_Conviction.BaseValue = 0; H_Conviction.AmountPerLevel = 1; HeroSkill[Index] = 'Conviction'; ++Index; H_Conviction.ParentSkill = ''; H_Conviction.Unlock = false; H_Conviction.Decay = false; H_Conviction.Cost = 100; H_Conviction.SkillLevel = 0; H_Conviction.Info = 'Physical Auto-Attacks do this % extra damage to an Armored target.'; H_RegenerationBonus = new Object(); H_RegenerationBonus.SkillName = 'Regeneration Bonus'; H_RegenerationBonus.Type = 'Holy'; H_RegenerationBonus.Index = Index; H_RegenerationBonus.BaseValue = 0; H_RegenerationBonus.AmountPerLevel = 1; HeroSkill[Index] = 'RegenerationBonus'; ++Index; H_RegenerationBonus.ParentSkill = ''; H_RegenerationBonus.Unlock = false; H_RegenerationBonus.Decay = false; H_RegenerationBonus.Cost = 100; H_RegenerationBonus.SkillLevel = 0; H_RegenerationBonus.Info = '% amount HP Regen and Energy Shield Regen increase.'; H_Protection = new Object(); H_Protection.SkillName = 'Protection'; H_Protection.Type = 'Holy'; H_Protection.Index = Index; H_Protection.BaseValue = 0; H_Protection.AmountPerLevel = 0.5; HeroSkill[Index] = 'Protection'; ++Index; H_Protection.ParentSkill = ''; H_Protection.Unlock = false; H_Protection.Decay = false; H_Protection.Cost = 100; H_Protection.SkillLevel = 0; H_Protection.Info = 'Reduces the Minimum Damage possible from enemy physical attacks (minimum after all damage calculation).'; H_BlessedWeapon = new Object(); H_BlessedWeapon.SkillName = 'Blessed Weapon'; H_BlessedWeapon.Type = 'Holy'; H_BlessedWeapon.Index = Index; H_BlessedWeapon.BaseValue = 0; H_BlessedWeapon.AmountPerLevel = 1; HeroSkill[Index] = 'BlessedWeapon'; ++Index; H_BlessedWeapon.ParentSkill = ''; H_BlessedWeapon.Unlock = false; H_BlessedWeapon.Decay = false; H_BlessedWeapon.Cost = 100; H_BlessedWeapon.SkillLevel = 0; H_BlessedWeapon.Info = '% extra damage added to any offensive item used.'; H_HealingCharges = new Object(); H_HealingCharges.SkillName = 'Healing Charges'; H_HealingCharges.Type = 'Holy'; H_HealingCharges.Index = Index; H_HealingCharges.BaseValue = 0; H_HealingCharges.AmountPerLevel = 1; HeroSkill[Index] = 'HealingCharges'; ++Index; H_HealingCharges.ParentSkill = ''; H_HealingCharges.Unlock = false; H_HealingCharges.Decay = false; H_HealingCharges.Cost = 100; H_HealingCharges.SkillLevel = 0; H_HealingCharges.Info = '(3/sec): lose 1* Attack Charges (max 100), to gain 2* HP. The amount healed increases by 4% each Stage.'; H_EnergyCharges = new Object(); H_EnergyCharges.SkillName = 'Energy Charges'; H_EnergyCharges.Type = 'Holy'; H_EnergyCharges.Index = Index; H_EnergyCharges.BaseValue = 0; H_EnergyCharges.AmountPerLevel = 1; HeroSkill[Index] = 'EnergyCharges'; ++Index; H_EnergyCharges.ParentSkill = ''; H_EnergyCharges.Unlock = false; H_EnergyCharges.Decay = false; H_EnergyCharges.Cost = 100; H_EnergyCharges.SkillLevel = 0; H_EnergyCharges.Info = '(4/sec): lose 1* Magic Charges (max 100), to gain 1* Energy Shield. The amount restored increases by 4% each Stage.'; H_DivineWrath = new Object(); H_DivineWrath.SkillName = 'Divine Wrath'; H_DivineWrath.Type = 'Holy'; H_DivineWrath.Index = Index; H_DivineWrath.BaseValue = 0; H_DivineWrath.AmountPerLevel = 1; HeroSkill[Index] = 'DivineWrath'; ++Index; H_DivineWrath.ParentSkill = ''; H_DivineWrath.Unlock = false; H_DivineWrath.Decay = true; H_DivineWrath.Cost = 100; H_DivineWrath.SkillLevel = 0; H_DivineWrath.Info = '% chance to inflict all status ailments onto the enemy when the stage begins, and scaling their effects by Stage.'; H_DivineShield = new Object(); H_DivineShield.SkillName = 'Divine Shield'; H_DivineShield.Type = 'Holy'; H_DivineShield.Index = Index; H_DivineShield.BaseValue = 0; H_DivineShield.AmountPerLevel = 1; HeroSkill[Index] = 'DivineShield'; ++Index; H_DivineShield.ParentSkill = ''; H_DivineShield.Unlock = false; H_DivineShield.Decay = false; H_DivineShield.Cost = 100; H_DivineShield.SkillLevel = 0; H_DivineShield.Info = 'A flat amount of extra damage reduction against physical attacks for your Energy Shield. Amount of reduction cannot exceed your current ES at the time of hit.'; H_DivineArmor = new Object(); H_DivineArmor.SkillName = 'Divine Armor'; H_DivineArmor.Type = 'Holy'; H_DivineArmor.Index = Index; H_DivineArmor.BaseValue = 0; H_DivineArmor.AmountPerLevel = 4; HeroSkill[Index] = 'DivineArmor'; ++Index; H_DivineArmor.ParentSkill = ''; H_DivineArmor.Unlock = false; H_DivineArmor.Decay = false; H_DivineArmor.Cost = 100; H_DivineArmor.SkillLevel = 0; H_DivineArmor.Info = 'A flat amount of extra damage reduction against magic attacks for your Armor.'; H_Aegis = new Object(); H_Aegis.SkillName = 'Aegis'; H_Aegis.Type = 'Holy'; H_Aegis.Index = Index; H_Aegis.BaseValue = 0; H_Aegis.AmountPerLevel = 1; HeroSkill[Index] = 'Aegis'; ++Index; H_Aegis.ParentSkill = ''; H_Aegis.Unlock = false; H_Aegis.Decay = false; H_Aegis.Cost = 100; H_Aegis.SkillLevel = 0; H_Aegis.Info = '(1/sec): Gain this amount of Max HP (resets each stage). Amount of Max HP gain increases by 4% each Stage.'; H_LightningStrike = new Object(); H_LightningStrike.SkillName = 'Lightning Strike'; H_LightningStrike.Type = 'Holy'; H_LightningStrike.Index = Index; H_LightningStrike.BaseValue = 0; H_LightningStrike.AmountPerLevel = 1; HeroSkill[Index] = 'LightningStrike'; ++Index; H_LightningStrike.ParentSkill = ''; H_LightningStrike.Unlock = false; H_LightningStrike.Decay = false; H_LightningStrike.Cost = 100; H_LightningStrike.SkillLevel = 0; H_LightningStrike.Info = 'At the start of each Stage, deal a random amount of damage ranging from 5* to 50*. This damage is scaled by your Shock Damage magic skill and applies Shock.'; H_VoidReduction = new Object(); H_VoidReduction.SkillName = 'Void Reduction'; H_VoidReduction.Type = 'Holy'; H_VoidReduction.Index = Index; H_VoidReduction.BaseValue = 0; H_VoidReduction.AmountPerLevel = 1; HeroSkill[Index] = 'VoidReduction'; ++Index; H_VoidReduction.ParentSkill = ''; H_VoidReduction.Unlock = false; H_VoidReduction.Decay = false; H_VoidReduction.Cost = 100; H_VoidReduction.SkillLevel = 0; H_VoidReduction.Info = '(2/sec): reduce the stacked Void on yourself by this amount. Amount of void reduction increases by 4% each Stage.'; H_Barrier = new Object(); H_Barrier.SkillName = 'Barrier'; H_Barrier.Type = 'Holy'; H_Barrier.Index = Index; H_Barrier.BaseValue = 0; H_Barrier.AmountPerLevel = 1; HeroSkill[Index] = 'Barrier'; ++Index; H_Barrier.ParentSkill = ''; H_Barrier.Unlock = false; H_Barrier.Decay = true; H_Barrier.Cost = 100; H_Barrier.SkillLevel = 0; H_Barrier.Info = 'Resist this % of all damage for the first 4 seconds of each Stage.'; H_SpellShield = new Object(); H_SpellShield.SkillName = 'Spell Shield'; H_SpellShield.Type = 'Holy'; H_SpellShield.Index = Index; H_SpellShield.BaseValue = 0; H_SpellShield.AmountPerLevel = 1; HeroSkill[Index] = 'SpellShield'; ++Index; H_SpellShield.ParentSkill = ''; H_SpellShield.Unlock = false; H_SpellShield.Decay = true; H_SpellShield.Cost = 100; H_SpellShield.SkillLevel = 0; H_SpellShield.Info = '% of incoming Magic attacks negated on contact for the first 5 seconds of each Stage.'; H_ShieldBanishing = new Object(); H_ShieldBanishing.SkillName = 'Shield Banishing'; H_ShieldBanishing.Type = 'Holy'; H_ShieldBanishing.Index = Index; H_ShieldBanishing.BaseValue = 0; H_ShieldBanishing.AmountPerLevel = 0.5; HeroSkill[Index] = 'ShieldBanishing'; ++Index; H_ShieldBanishing.ParentSkill = ''; H_ShieldBanishing.Unlock = false; H_ShieldBanishing.Decay = true; H_ShieldBanishing.Cost = 100; H_ShieldBanishing.SkillLevel = 0; H_ShieldBanishing.Info = '% of enemy Max Energy Shield eliminated. This effect pervades through any other conditions or modifiers.'; H_ReactiveArmor = new Object(); H_ReactiveArmor.SkillName = 'Reactive Armor'; H_ReactiveArmor.Type = 'Holy'; H_ReactiveArmor.Index = Index; H_ReactiveArmor.BaseValue = 0; H_ReactiveArmor.AmountPerLevel = 0.2; HeroSkill[Index] = 'ReactiveArmor'; ++Index; H_ReactiveArmor.ParentSkill = ''; H_ReactiveArmor.Unlock = false; H_ReactiveArmor.Decay = true; H_ReactiveArmor.Cost = 100; H_ReactiveArmor.SkillLevel = 0; H_ReactiveArmor.Info = '% of Armor loss from any source restores your Energy Shield.'; H_SpectralArmor = new Object(); H_SpectralArmor.SkillName = 'Spectral Armor'; H_SpectralArmor.Type = 'Holy'; H_SpectralArmor.Index = Index; H_SpectralArmor.BaseValue = 0; H_SpectralArmor.AmountPerLevel = 1; HeroSkill[Index] = 'SpectralArmor'; ++Index; H_SpectralArmor.ParentSkill = ''; H_SpectralArmor.Unlock = false; H_SpectralArmor.Decay = false; H_SpectralArmor.Cost = 100; H_SpectralArmor.SkillLevel = 0; H_SpectralArmor.Info = '(6/sec): Convert 1* HP into 1* Armor. HP cost and Armor gained increase by 4% each Stage.'; H_GuardianPower = new Object(); H_GuardianPower.SkillName = 'Guardian Power'; H_GuardianPower.Type = 'Special'; H_GuardianPower.Index = Index; H_GuardianPower.BaseValue = 0; H_GuardianPower.AmountPerLevel = 1; HeroSkill[Index] = 'GuardianPower'; ++Index; H_GuardianPower.ParentSkill = ''; H_GuardianPower.Unlock = false; H_GuardianPower.Decay = false; H_GuardianPower.Cost = 100; H_GuardianPower.SkillLevel = 0; H_GuardianPower.Info = 'Max HP increased by 2%*, but attack damage reduced by 1* and magic damage reduced by 5*.'; H_GlassCannon = new Object(); H_GlassCannon.SkillName = 'Glass Cannon'; H_GlassCannon.Type = 'Special'; H_GlassCannon.Index = Index; H_GlassCannon.BaseValue = 0; H_GlassCannon.AmountPerLevel = 0.5; HeroSkill[Index] = 'GlassCannon'; ++Index; H_GlassCannon.ParentSkill = ''; H_GlassCannon.Unlock = false; H_GlassCannon.Decay = true; H_GlassCannon.Cost = 100; H_GlassCannon.SkillLevel = 0; H_GlassCannon.Info = 'Max HP reduced by this % and physical/magic damage increased this % for all Auto-Attacks, Items, and Auto-Casted Magic Spells'; H_ReflectBonus = new Object(); H_ReflectBonus.SkillName = 'Reflect Bonus'; H_ReflectBonus.Type = 'Special'; H_ReflectBonus.Index = Index; H_ReflectBonus.BaseValue = 0; H_ReflectBonus.AmountPerLevel = 1; HeroSkill[Index] = 'ReflectBonus'; ++Index; H_ReflectBonus.ParentSkill = ''; H_ReflectBonus.Unlock = false; H_ReflectBonus.Decay = false; H_ReflectBonus.Cost = 100; H_ReflectBonus.SkillLevel = 0; H_ReflectBonus.Info = '% extra damage dealt by your Physical Reflect, and an additional 5* flat damage added to your Magic Reflect.'; H_SummonDecoy = new Object(); H_SummonDecoy.SkillName = 'Summon Decoy'; H_SummonDecoy.Type = 'Special'; H_SummonDecoy.Index = Index; H_SummonDecoy.BaseValue = 0; H_SummonDecoy.AmountPerLevel = 1; HeroSkill[Index] = 'SummonDecoy'; ++Index; H_SummonDecoy.ParentSkill = ''; H_SummonDecoy.Unlock = false; H_SummonDecoy.Decay = true; H_SummonDecoy.Cost = 100; H_SummonDecoy.SkillLevel = 0; H_SummonDecoy.Info = 'Summon a Decoy at the beginning of each Stage, that lasts for 5 seconds and distracts a % of all enemy physical attacks, based on this skill\'s level.'; H_MothBlessing = new Object(); H_MothBlessing.SkillName = 'Moth Blessing'; H_MothBlessing.Type = 'Special'; H_MothBlessing.Index = Index; H_MothBlessing.BaseValue = 0; H_MothBlessing.AmountPerLevel = 1; HeroSkill[Index] = 'MothBlessing'; ++Index; H_MothBlessing.ParentSkill = ''; H_MothBlessing.Unlock = false; H_MothBlessing.Decay = true; H_MothBlessing.Cost = 100; H_MothBlessing.SkillLevel = 0; H_MothBlessing.Info = 'Periodically heal a Moth allowing it a chance of escape. It\'ll probably still die but you\'ll feel less guilty about it.'; H_MaxOverkill = new Object(); H_MaxOverkill.SkillName = 'Max Overkill'; H_MaxOverkill.Type = 'Special'; H_MaxOverkill.Index = Index; H_MaxOverkill.BaseValue = 0; H_MaxOverkill.AmountPerLevel = 5; HeroSkill[Index] = 'MaxOverkill'; ++Index; H_MaxOverkill.ParentSkill = ''; H_MaxOverkill.Unlock = false; H_MaxOverkill.Decay = false; H_MaxOverkill.Cost = 100; H_MaxOverkill.SkillLevel = 0; H_MaxOverkill.Info = 'Deal this amount of damage at the end of each stage, causing damage to the next stage before it begins. This attack gains half your crit chances and ignores enemy crit resistances.'; H_BurstAttack = new Object(); H_BurstAttack.SkillName = 'Burst Attack'; H_BurstAttack.Type = 'Special'; H_BurstAttack.Index = Index; H_BurstAttack.BaseValue = 0; H_BurstAttack.AmountPerLevel = 20; HeroSkill[Index] = 'BurstAttack'; ++Index; H_BurstAttack.ParentSkill = ''; H_BurstAttack.Unlock = false; H_BurstAttack.Decay = false; H_BurstAttack.Cost = 100; H_BurstAttack.SkillLevel = 0; H_BurstAttack.Info = 'Flat amount of Attack Charges gained at the beginning of each Stage.'; H_BurstMagic = new Object(); H_BurstMagic.SkillName = 'Burst Magic'; H_BurstMagic.Type = 'Special'; H_BurstMagic.Index = Index; H_BurstMagic.BaseValue = 0; H_BurstMagic.AmountPerLevel = 20; HeroSkill[Index] = 'BurstMagic'; ++Index; H_BurstMagic.ParentSkill = ''; H_BurstMagic.Unlock = false; H_BurstMagic.Decay = false; H_BurstMagic.Cost = 100; H_BurstMagic.SkillLevel = 0; H_BurstMagic.Info = 'Flat amount of Magic Charges gained at the beginning of each Stage.'; H_EnchantedEnergyShield = new Object(); H_EnchantedEnergyShield.SkillName = 'Enchanted Energy Shield'; H_EnchantedEnergyShield.Type = 'Special'; H_EnchantedEnergyShield.Index = Index; H_EnchantedEnergyShield.BaseValue = 0; H_EnchantedEnergyShield.AmountPerLevel = 1; HeroSkill[Index] = 'EnchantedEnergyShield'; ++Index; H_EnchantedEnergyShield.ParentSkill = ''; H_EnchantedEnergyShield.Unlock = false; H_EnchantedEnergyShield.Decay = true; H_EnchantedEnergyShield.Cost = 100; H_EnchantedEnergyShield.SkillLevel = 0; H_EnchantedEnergyShield.Info = 'This % of Energy Shield lost to damage from the enemy is converted into Magic Charges. Magic Charges gained max at 1000/sec and this max increases by 4% each Stage.'; H_EnchantedArmor = new Object(); H_EnchantedArmor.SkillName = 'Enchanted Armor'; H_EnchantedArmor.Type = 'Special'; H_EnchantedArmor.Index = Index; H_EnchantedArmor.BaseValue = 0; H_EnchantedArmor.AmountPerLevel = 1; HeroSkill[Index] = 'EnchantedArmor'; ++Index; H_EnchantedArmor.ParentSkill = ''; H_EnchantedArmor.Unlock = false; H_EnchantedArmor.Decay = true; H_EnchantedArmor.Cost = 100; H_EnchantedArmor.SkillLevel = 0; H_EnchantedArmor.Info = '(12/sec): lose 5* Armor to gain 1* Cascade.'; H_Remedy = new Object(); H_Remedy.SkillName = 'Remedy'; H_Remedy.Type = 'Special'; H_Remedy.Index = Index; H_Remedy.BaseValue = 0; H_Remedy.AmountPerLevel = 1; HeroSkill[Index] = 'Remedy'; ++Index; H_Remedy.ParentSkill = ''; H_Remedy.Unlock = false; H_Remedy.Decay = true; H_Remedy.Cost = 100; H_Remedy.SkillLevel = 0; H_Remedy.Info = '(4/sec): This % chance to cure a random status ailment, or gain a short prevent for that ailment if you do not have it. (cannot cure void)'; H_StageScalingIncrease = new Object(); H_StageScalingIncrease.SkillName = 'Stage Scaling Increase'; H_StageScalingIncrease.Type = 'Special'; H_StageScalingIncrease.Index = Index; H_StageScalingIncrease.BaseValue = 0; H_StageScalingIncrease.AmountPerLevel = 1; HeroSkill[Index] = 'StageScalingIncrease'; ++Index; H_StageScalingIncrease.ParentSkill = ''; H_StageScalingIncrease.Unlock = false; H_StageScalingIncrease.Decay = true; H_StageScalingIncrease.Cost = 100; H_StageScalingIncrease.SkillLevel = 0; H_StageScalingIncrease.Info = '% increase for the rate of scaling of all skills that have increased effects from Stage.'; H_Luck = new Object(); H_Luck.SkillName = 'Luck'; H_Luck.Type = 'Special'; H_Luck.Index = Index; H_Luck.BaseValue = 0; H_Luck.AmountPerLevel = 0.21; HeroSkill[Index] = 'Luck'; ++Index; H_Luck.ParentSkill = ''; H_Luck.Unlock = false; H_Luck.Decay = true; H_Luck.Cost = 100; H_Luck.SkillLevel = 0; H_Luck.Info = 'Random things are in your favor at random times, in random places, and in unknown ways.'; H_StunFreezeThreshold = new Object(); H_StunFreezeThreshold.SkillName = 'Stun/Freeze Threshold (%)'; H_StunFreezeThreshold.Type = 'Special'; H_StunFreezeThreshold.Index = Index; H_StunFreezeThreshold.BaseValue = 0; H_StunFreezeThreshold.AmountPerLevel = 1; HeroSkill[Index] = 'StunFreezeThreshold'; ++Index; H_StunFreezeThreshold.ParentSkill = ''; H_StunFreezeThreshold.Unlock = false; H_StunFreezeThreshold.Decay = true; H_StunFreezeThreshold.Cost = 100; H_StunFreezeThreshold.SkillLevel = 0; H_StunFreezeThreshold.Info = 'Increases the maximum amount of consecutive time your stun/freeze can take effect before being temporarily prevented.'; H_Statusvamp = new Object(); H_Statusvamp.SkillName = 'Statusvamp (%)'; H_Statusvamp.Type = 'Special'; H_Statusvamp.Index = Index; H_Statusvamp.BaseValue = 0; H_Statusvamp.AmountPerLevel = 0.1; HeroSkill[Index] = 'Statusvamp'; ++Index; H_Statusvamp.ParentSkill = ''; H_Statusvamp.Unlock = false; H_Statusvamp.Decay = true; H_Statusvamp.Cost = 100; H_Statusvamp.SkillLevel = 0; H_Statusvamp.Info = '% of damage done to the enemy by Status Ailments is returned to you as healing.'; H_BurnAffinity = new Object(); H_BurnAffinity.SkillName = 'Burn Affinity'; H_BurnAffinity.Type = 'Special'; H_BurnAffinity.Index = Index; H_BurnAffinity.BaseValue = 0; H_BurnAffinity.AmountPerLevel = 0.1; HeroSkill[Index] = 'BurnAffinity'; ++Index; H_BurnAffinity.ParentSkill = ''; H_BurnAffinity.Unlock = false; H_BurnAffinity.Decay = true; H_BurnAffinity.Cost = 100; H_BurnAffinity.SkillLevel = 0; H_BurnAffinity.Info = '% of total HP/ES Regen that bypasses the Burn Ailment.'; H_CritDamageEnhancement = new Object(); H_CritDamageEnhancement.SkillName = 'Crit Damage Enhancement'; H_CritDamageEnhancement.Type = 'Special'; H_CritDamageEnhancement.Index = Index; H_CritDamageEnhancement.BaseValue = 0; H_CritDamageEnhancement.AmountPerLevel = 1; HeroSkill[Index] = 'CritDamageEnhancement'; ++Index; H_CritDamageEnhancement.ParentSkill = ''; H_CritDamageEnhancement.Unlock = false; H_CritDamageEnhancement.Decay = true; H_CritDamageEnhancement.Cost = 100; H_CritDamageEnhancement.SkillLevel = 0; H_CritDamageEnhancement.Info = '% extra damage added by each crit triggered on items and auto attacks.'; H_UtilityCostReductionPcnt = new Object(); H_UtilityCostReductionPcnt.SkillName = 'Utility Cost Reduction (%)'; H_UtilityCostReductionPcnt.Type = 'Special'; H_UtilityCostReductionPcnt.Index = Index; H_UtilityCostReductionPcnt.BaseValue = 0; H_UtilityCostReductionPcnt.AmountPerLevel = 0.1; HeroSkill[Index] = 'UtilityCostReductionPcnt'; ++Index; H_UtilityCostReductionPcnt.ParentSkill = ''; H_UtilityCostReductionPcnt.Unlock = false; H_UtilityCostReductionPcnt.Decay = true; H_UtilityCostReductionPcnt.Cost = 100; H_UtilityCostReductionPcnt.SkillLevel = 0; H_UtilityCostReductionPcnt.Info = '% reduction to the star cost of all Utility skills.'; H_ConvertMagicCharges = new Object(); H_ConvertMagicCharges.SkillName = 'Convert Magic Charges'; H_ConvertMagicCharges.Type = 'Special'; H_ConvertMagicCharges.Index = Index; H_ConvertMagicCharges.BaseValue = 0; H_ConvertMagicCharges.AmountPerLevel = 0.5; HeroSkill[Index] = 'ConvertMagicCharges'; ++Index; H_ConvertMagicCharges.ParentSkill = ''; H_ConvertMagicCharges.Unlock = false; H_ConvertMagicCharges.Decay = true; H_ConvertMagicCharges.Cost = 100; H_ConvertMagicCharges.SkillLevel = 0; H_ConvertMagicCharges.Info = 'This % of all Magic Charges gained become Attack Charges instead.'; H_ItemStatusPower = new Object(); H_ItemStatusPower.SkillName = 'Item Status Power'; H_ItemStatusPower.Type = 'Special'; H_ItemStatusPower.Index = Index; H_ItemStatusPower.BaseValue = 0; H_ItemStatusPower.AmountPerLevel = 1; HeroSkill[Index] = 'ItemStatusPower'; ++Index; H_ItemStatusPower.ParentSkill = ''; H_ItemStatusPower.Unlock = false; H_ItemStatusPower.Decay = true; H_ItemStatusPower.Cost = 100; H_ItemStatusPower.SkillLevel = 0; H_ItemStatusPower.Info = '% reduction to enemy status resistances during hit calculation for all items.'; H_GoldInterestRate = new Object(); H_GoldInterestRate.SkillName = '2x Star Chance'; H_GoldInterestRate.Type = 'BANNED'; H_GoldInterestRate.Index = Index; H_GoldInterestRate.BaseValue = 0; H_GoldInterestRate.AmountPerLevel = 0.5; HeroSkill[Index] = 'GoldInterestRate'; ++Index; H_GoldInterestRate.ParentSkill = ''; H_GoldInterestRate.Unlock = false; H_GoldInterestRate.Decay = true; H_GoldInterestRate.Cost = 100; H_GoldInterestRate.SkillLevel = 0; H_GoldInterestRate.Info = 'A chance to gain double skill stars for a stage. Calculated after Star Gain Bonus.'; H_CounterAttackChance = new Object(); H_CounterAttackChance.SkillName = '2x Star Chance'; H_CounterAttackChance.Type = 'BANNED'; H_CounterAttackChance.Index = Index; H_CounterAttackChance.BaseValue = 0; H_CounterAttackChance.AmountPerLevel = 0.5; HeroSkill[Index] = 'CounterAttackChance'; ++Index; H_CounterAttackChance.ParentSkill = ''; H_CounterAttackChance.Unlock = false; H_CounterAttackChance.Decay = true; H_CounterAttackChance.Cost = 100; H_CounterAttackChance.SkillLevel = 0; H_CounterAttackChance.Info = 'A chance to gain double skill stars for a stage. Calculated after Star Gain Bonus.'; DefenseSkill = new Array(); AttackSkill = new Array(); MagicSkill = new Array(); UtilitySkill = new Array(); SpecialSkill = new Array(); EvilSkill = new Array(); HolySkill = new Array(); i = 0; while (i < HeroSkill.length) { T = this['H_' + HeroSkill[i]].Type; X = this[T + 'Skill'].length; this[T + 'Skill'][X] = HeroSkill[i]; ++i; } trace('Defense Skills: ' + DefenseSkill); trace('Attack Skills: ' + AttackSkill); trace('Magic Skills: ' + MagicSkill); trace('Utility Skills: ' + UtilitySkill); trace('Special Skills: ' + SpecialSkill); trace('Evil Skills: ' + EvilSkill); trace('Holy Skills: ' + HolySkill); trace('total skills: ' + HeroSkill.length); ChooseClass(); } frame 3 { function InitiateActiveItems() { LoadItemCell(ACTIVEITEM1.ITEM, 'I_Item' + ACTIVEITEM1.ItemID); LoadItemCell(ACTIVEITEM2.ITEM, 'I_Item' + ACTIVEITEM2.ItemID); LoadItemCell(ACTIVEITEM3.ITEM, 'I_Item' + ACTIVEITEM3.ItemID); LoadItemCell(ACTIVEITEM4.ITEM, 'I_Item' + ACTIVEITEM4.ItemID); ACTIVEITEM1.Cooldown = 0; ACTIVEITEM2.Cooldown = 0; ACTIVEITEM3.Cooldown = 0; ACTIVEITEM4.Cooldown = 0; ACTIVEITEM1.MaxCooldown = this['I_Item' + ACTIVEITEM1.ItemID].TotalCooldown * 12; ACTIVEITEM2.MaxCooldown = this['I_Item' + ACTIVEITEM2.ItemID].TotalCooldown * 12; ACTIVEITEM3.MaxCooldown = this['I_Item' + ACTIVEITEM3.ItemID].TotalCooldown * 12; ACTIVEITEM4.MaxCooldown = this['I_Item' + ACTIVEITEM4.ItemID].TotalCooldown * 12; ACTIVEITEM1.Uses = this['I_Item' + ACTIVEITEM1.ItemID].MaxUses; ACTIVEITEM2.Uses = this['I_Item' + ACTIVEITEM2.ItemID].MaxUses; ACTIVEITEM3.Uses = this['I_Item' + ACTIVEITEM3.ItemID].MaxUses; ACTIVEITEM4.Uses = this['I_Item' + ACTIVEITEM4.ItemID].MaxUses; } function ManageActiveItems() { AutoShot = false; if (ACTIVEITEM1.Cooldown > 0) { --ACTIVEITEM1.Cooldown; } else { if (MA1 && Time % 4 == 0) { UseItem(1, ACTIVEITEM1.ItemID); } } if (ACTIVEITEM2.Cooldown > 0) { --ACTIVEITEM2.Cooldown; } else { if (MA2 && (Time + 1) % 4 == 0) { UseItem(2, ACTIVEITEM2.ItemID); } } if (ACTIVEITEM3.Cooldown > 0) { --ACTIVEITEM3.Cooldown; } else { if (MA3 && (Time + 2) % 4 == 0) { UseItem(3, ACTIVEITEM3.ItemID); } } if (ACTIVEITEM4.Cooldown > 0) { --ACTIVEITEM4.Cooldown; } else { if (MA4 && (Time + 3) % 4 == 0) { UseItem(4, ACTIVEITEM4.ItemID); } } ACTIVEITEM1.CDR.gotoAndStop(1 + (100 - Math.ceil((ACTIVEITEM1.Cooldown / (ACTIVEITEM1.MaxCooldown + 1)) * 100))); ACTIVEITEM2.CDR.gotoAndStop(1 + (100 - Math.ceil((ACTIVEITEM2.Cooldown / (ACTIVEITEM2.MaxCooldown + 1)) * 100))); ACTIVEITEM3.CDR.gotoAndStop(1 + (100 - Math.ceil((ACTIVEITEM3.Cooldown / (ACTIVEITEM3.MaxCooldown + 1)) * 100))); ACTIVEITEM4.CDR.gotoAndStop(1 + (100 - Math.ceil((ACTIVEITEM4.Cooldown / (ACTIVEITEM4.MaxCooldown + 1)) * 100))); ACTIVEITEM1.ITEM.Uses.text = ACTIVEITEM1.Uses + ' uses'; ACTIVEITEM2.ITEM.Uses.text = ACTIVEITEM2.Uses + ' uses'; ACTIVEITEM3.ITEM.Uses.text = ACTIVEITEM3.Uses + ' uses'; ACTIVEITEM4.ITEM.Uses.text = ACTIVEITEM4.Uses + ' uses'; ACTIVEITEM1.ITEM.RarityDT.text = ''; ACTIVEITEM2.ITEM.RarityDT.text = ''; ACTIVEITEM3.ITEM.RarityDT.text = ''; ACTIVEITEM4.ITEM.RarityDT.text = ''; C1 = Math.ceil(ACTIVEITEM1.Cooldown / 12); if (C1 == 0) { C1 = ''; } C2 = Math.ceil(ACTIVEITEM2.Cooldown / 12); if (C2 == 0) { C2 = ''; } C3 = Math.ceil(ACTIVEITEM3.Cooldown / 12); if (C3 == 0) { C3 = ''; } C4 = Math.ceil(ACTIVEITEM4.Cooldown / 12); if (C4 == 0) { C4 = ''; } ACTIVEITEM1.CD.text = C1; ACTIVEITEM2.CD.text = C2; ACTIVEITEM3.CD.text = C3; ACTIVEITEM4.CD.text = C4; if (ACTIVEITEM1.Uses <= 0) { ACTIVEITEM1.BrokenGFX._alpha = 100; } else { ACTIVEITEM1.BrokenGFX._alpha = 0; } if (ACTIVEITEM2.Uses <= 0) { ACTIVEITEM2.BrokenGFX._alpha = 100; } else { ACTIVEITEM2.BrokenGFX._alpha = 0; } if (ACTIVEITEM3.Uses <= 0) { ACTIVEITEM3.BrokenGFX._alpha = 100; } else { ACTIVEITEM3.BrokenGFX._alpha = 0; } if (ACTIVEITEM4.Uses <= 0) { ACTIVEITEM4.BrokenGFX._alpha = 100; } else { ACTIVEITEM4.BrokenGFX._alpha = 0; } ACTIVEITEM1.BrokenGFX.gotoAndStop(this['I_Item' + ACTIVEITEM1.ItemID].Type); ACTIVEITEM2.BrokenGFX.gotoAndStop(this['I_Item' + ACTIVEITEM2.ItemID].Type); ACTIVEITEM3.BrokenGFX.gotoAndStop(this['I_Item' + ACTIVEITEM3.ItemID].Type); ACTIVEITEM4.BrokenGFX.gotoAndStop(this['I_Item' + ACTIVEITEM4.ItemID].Type); if (SpiderMode == 1 || _global.BunnyCaptive == true) { ACTIVEITEM1.Lock._visible = true; ACTIVEITEM2.Lock._visible = true; ACTIVEITEM3.Lock._visible = true; ACTIVEITEM4.Lock._visible = true; } else { ACTIVEITEM1.Lock._visible = false; ACTIVEITEM2.Lock._visible = false; ACTIVEITEM3.Lock._visible = false; ACTIVEITEM4.Lock._visible = false; } } function LoadInventoryCell(Target, ItemID) { if (ItemID != undefined) { ItemID = 'I_Item' + ItemID; Target.EffectSymbol1._visible = true; Target.EffectSymbol2._visible = true; Target.EffectSymbol3._visible = true; Target.EffectSymbol4._visible = true; Target.RarityIcon._visible = true; Target.EffectSymbol1.gotoAndStop(this['L_' + this[ItemID].Effect1].Symbol); Target.EffectSymbol2.gotoAndStop(this['L_' + this[ItemID].Effect2].Symbol); Target.EffectSymbol3.gotoAndStop(this['L_' + this[ItemID].Effect3].Symbol); Target.EffectSymbol4.gotoAndStop(this['L_' + this[ItemID].Effect4].Symbol); RarityGFX = 1; R = this[ItemID].Rarity; if (R < 50) { RarityGFX = 1; } else { if (R < 500) { RarityGFX = 1 + Math.ceil(R / 100); } else { RarityGFX = 5 + Math.ceil(Math.sqrt(R / 100)); } } Target.RarityIcon.gotoAndStop(RarityGFX); Target.HasItem = true; GFX = this['L_' + this[ItemID].GFX].GFX1; var v4 = Target.attachMovie(GFX, 'Icon', 1); v4._yscale = 125; v4._xscale = 125; } else { Target.EffectSymbol1._visible = false; Target.EffectSymbol2._visible = false; Target.EffectSymbol3._visible = false; Target.EffectSymbol4._visible = false; Target.RarityIcon._visible = false; Target.HasItem = false; Target.ItemID = -1; } } function UseItem(ActiveSlot, ItemID) { if (_global.GamePause != true && SpiderMode != 1 && _global.BunnyCaptive != true) { if (this['ACTIVEITEM' + ActiveSlot].Uses > 0 && this['ACTIVEITEM' + ActiveSlot].Cooldown <= 0) { Bunny._x = this['ACTIVEITEM' + ActiveSlot]._x; if (HeroInfiniteItemUses != true) { --this['ACTIVEITEM' + ActiveSlot].Uses; } this['ACTIVEITEM' + ActiveSlot].Cooldown = this['ACTIVEITEM' + ActiveSlot].MaxCooldown; HHP += Skill('H', 'GlobalItemHeal'); Data = new Object(); MultiShot = 1; OverCharge = 1; m3 = 1; m2 = 1; m1 = 1; e = 1; while (e <= 4) { Effect = this['I_Item' + ItemID]['Effect' + e]; Amount = this['I_Item' + ItemID]['Value' + e]; if (Effect == 'MultiShot') { m1 = Amount; } if (Effect == 'Pcnt3xFlurry') { if (RN(100) < Amount) { m2 = 3; } } if (Effect == 'Pcnt9xFlurry') { if (RN(100) < Amount) { m3 = 9; } } ++e; } if (_global.MultifireCondense == 1) { if (m1 > 1) { OverCharge *= m1; m1 = 1; } else { if (m3 > 1) { OverCharge *= m3; m3 = 1; } else { OverCharge *= m2; m2 = 1; } } } if (_global.MultifireCondense == 2) { OverCharge = m1 * m2 * m3; m3 = 1; m2 = 1; m1 = 1; } MultiShot = m1 * m2 * m3; Data.OverCharge = OverCharge; e = 1; while (e <= 4) { Effect = this['I_Item' + ItemID]['Effect' + e]; Amount = this['I_Item' + ItemID]['Value' + e]; if (Effect == 'PhysicalDamage') { Data.PhysicalAttackDamage = (Amount + HRageVal) * (1 + Skill('H', 'BlessedWeapon') / 100) * OverCharge; } if (Effect == 'Pcnt2xCrit') { Data.Crit2xChance = Amount; } if (Effect == 'Pcnt4xCrit') { Data.Crit4xChance = Amount; } if (Effect == 'Pcnt8xCrit') { Data.Crit8xChance = Amount; } if (Effect == 'Pcnt16xCrit') { Data.Crit16xChance = Amount; } if (Effect == 'PcntBleed') { Data.BleedChance = Amount; Data.BleedDamagePcnt = 5; } if (Effect == 'ExtraBleedTime') { Data.BleedDuration = Amount; } if (Effect == 'ExtraBleedDamage') { Data.BleedDamagePcnt += Amount; } if (Effect == 'PcntStun') { Data.StunChance = Amount; } if (Effect == 'ExtraStunTime') { Data.StunDuration = Amount; } if (Effect == 'PcntLifesteal') { Data.LifeStealPcnt = Amount; } if (Effect == 'HPOnHit') { Data.HPGainOnHit = Amount * OverCharge; } if (Effect == 'MagicDamage') { Data.MagicDamage = (Amount * (100 + HCascadeVal) / 100) * (1 + Skill('H', 'BlessedWeapon') / 100) * OverCharge; } if (Effect == 'AcidDamage') { Data.AcidDamage = Amount; Data.AcidChance = 100; } if (Effect == 'PcntIgnite') { Data.IgniteChance = Amount; Data.IgniteDamage = 250 * StageScale; } if (Effect == 'ExtraIgniteDamage') { Data.IgniteDamage += Amount * 5 * StageScale; } if (Effect == 'Freeze') { Data.FreezeChance = 100; Data.FreezeDuration = 25 * Amount; } if (Effect == 'Burn') { Data.BurnChance = 100; Data.BurnDuration = 25 * Amount; } if (Effect == 'Poison') { Data.PoisonChance = 100; Data.PoisonDuration = 25 * Amount; Data.PoisonDamagePcnt = 1; } if (Effect == 'ExtraPoisonDamage') { Data.PoisonDamagePcnt += Amount; } if (Effect == 'Shock') { Data.ShockChance = 100; Data.ShockDamageAmplifyPcnt = 50; } if (Effect == 'ExtraShockDamage') { Data.ShockDamageAmplifyPcnt += Amount; } if (Effect == 'Void') { Data.VoidChance = 100; Data.VoidMHPReduction = Amount; } if (Effect == 'Rage') { HRageVal += Amount; GraphicEffect('Z_AirCloud', {'A': spin, 'B': fadeOut, 'C': grow}, {'Ref': H}); } if (Effect == 'Cascade') { HCascadeVal += Amount; GraphicEffect('Z_ManaRestore1', {'A': spin, 'B': fadeOut, 'C': grow}, {'Ref': H}); } if (Effect == 'FlatHeal') { HHP += Amount; } if (Effect == 'PcntHeal') { HHP += HMaxHP * Amount / 100; } if (Effect == 'FlatArmor') { HArmor += Amount; } if (Effect == 'PcntArmor') { trace('H:' + HArmor); trace('HA:' + Skill('H', 'ArmorValue')); trace('HN:' + Skill('H', 'ArmorValue') * Amount / 100); HArmor += Skill('H', 'ArmorValue') * Amount / 100; } if (Effect == 'FlatShield') { HMaxESBuff += Amount; } if (Effect == 'PcntShield') { HMaxESBuff += Math.ceil(HMaxES * Amount / 100); } if (Effect == 'StarsPerUse') { DropStars(Bunny, Amount); } if (Effect == 'UsesRefresh') { if (RN(100) < Amount) { ++this['ACTIVEITEM' + ActiveSlot].Uses; } } if (Effect == 'CureAll') { HStunVal = 0; HFreezeVal = 0; HBurnVal = 0; HBleedVal = 0; HShockVal = 0; HIgniteVal = 0; HVoidVal = 0; HFrostVal = 0; HPoisonVal = 0; HAcidVal = 0; } if (Effect == 'CureStun') { HStunVal = 0; } if (Effect == 'CureFreeze') { HFreezeVal = 0; } if (Effect == 'CureBurn') { HBurnVal = 0; } if (Effect == 'CureBleed') { HBleedVal = 0; } if (Effect == 'CureShock') { HShockVal = 0; } if (Effect == 'CureIgnite') { HIgniteVal = 0; } if (Effect == 'CureVoid') { HVoidVal = 0; } if (Effect == 'CureFrost') { HFrostVal = 0; } if (Effect == 'CurePoison') { HPoisonVal = 0; } if (Effect == 'PreventStun' && HStunPrevent < Amount * 25) { HStunPrevent = Amount * 25; } if (Effect == 'PreventFreeze' && HFreezePrevent < Amount * 25) { HFreezePrevent = Amount * 25; } if (Effect == 'PreventBurn' && HBurnPrevent < Amount * 25) { HBurnPrevent = Amount * 25; } if (Effect == 'PreventBleed' && HBleedPrevent < Amount * 25) { HBleedPrevent = Amount * 25; } if (Effect == 'PreventShock' && HShockPrevent < Amount * 25) { HShockPrevent = Amount * 25; } if (Effect == 'PreventIgnite' && HIgnitePrevent < Amount * 25) { HIgnitePrevent = Amount * 25; } if (Effect == 'PreventVoid' && HVoidPrevent < Amount * 25) { HVoidPrevent = Amount * 25; } if (Effect == 'PreventFrost' && HFrostPrevent < Amount * 25) { HFrostPrevent = Amount * 25; } if (Effect == 'PreventPoison' && HPoisonPrevent < Amount * 25) { HPoisonPrevent = Amount * 25; } if (Effect == 'PreventAcid' && HAcidPrevent < Amount * 25) { HAcidPrevent = Amount * 25; } if (Effect == 'BreakArmor') { Data.BreakArmor = Amount * OverCharge; } if (Effect == 'DirectDamage') { Data.DirectDamage = Amount * OverCharge; } if (Effect == 'GoldOnHit') { Data.GoldOnHit = Amount * OverCharge; } if (Effect == 'GoldPerUse') { DropGold(Bunny, Amount); } if (Effect == 'AttackCharge') { HAttackCharge += Amount; } if (Effect == 'MagicCharge') { HMagicCharge += Amount; } if (Effect == 'FlatMHP') { HMaxHPBuff += Amount; } if (HHP > HMaxHP) { HHP = HMaxHP; } if (HES > HMaxES) { HES = HMaxES; } ++e; } Data.StatusPower = Skill('H', 'ItemStatusPower'); Data.CancelBlockChance = 100; Data.CancelEvadeChance = 100; Data.PhysicalArmorPenetration = Skill('H', 'PhysicalArmorPenetration'); TypeGet = this['I_Item' + ItemID].Type; Data.GFX = this['L_' + this['I_Item' + ItemID].GFX].GFX2; Data.Speed = 10; Data.Homing = 5; Data.ArcMin = 25; Data.Origin = Bunny; Multival = (MultiShot - 1) * 5; if (Multival > 0) { Multival += 30; } if (Multival > 100) { Multival = 100; } Data.ArcMax = 30 + Multival; if (TypeGet == 'Bow') { Data.FlyMode = 'Arrow'; } if (TypeGet == 'Sword' || TypeGet == 'Bow' || TypeGet == 'Wand' || TypeGet == 'Bomb' || TypeGet == 'Axe') { UI = 0; while (UI < MultiShot) { Attack(H, S, Data); ++UI; } } if (TypeGet == 'Potion' || TypeGet == 'Charm' || TypeGet == 'Shield') { GraphicEffect(Data.GFX, {'A': grow, 'B': fadeOut}, {'_x': H._x + RN(4, -2), '_y': H._y + RN(5, -5), 'Life': 20, 'FadeOut': 4, 'Grow': 15}); } } else { if (this['ACTIVEITEM' + ActiveSlot].Uses > 0) { trace('spam penalty'); this['ACTIVEITEM' + ActiveSlot].Cooldown += 1; if (this['ACTIVEITEM' + ActiveSlot].Cooldown > this['ACTIVEITEM' + ActiveSlot].MaxCooldown) { this['ACTIVEITEM' + ActiveSlot].Cooldown = this['ACTIVEITEM' + ActiveSlot].MaxCooldown; } } } } } function GenItem(Type, Tier, Bonus) { if (Tier == undefined) { Tier = 0; } if (Bonus == undefined) { Bonus = 0; } Legendary = Type == 'Legendary'; if (Type == 'Random' || Type == undefined || Type == 'Legendary') { Type = ItemType[RNF(ItemType.length)]; } Rarity = 25 + CurrentStage * 5 + RNF(100 + CurrentStage * 2); Rarity += _global.RarityBonus * 5; Rarity += Skill('H', 'ItemRarityIncreaseFlat'); if (Type == 'Potion') { Rarity += Skill('H', 'ExtraPotionsRarity'); } if (Type == 'Bomb') { Rarity += Skill('H', 'ExtraBombsRarity'); } if (Type == 'Sword') { Rarity += Skill('H', 'ExtraSwordsRarity'); } if (Type == 'Axe') { Rarity += Skill('H', 'ExtraAxesRarity'); } if (Type == 'Bow') { Rarity += Skill('H', 'ExtraBowsRarity'); } if (Type == 'Wand') { Rarity += Skill('H', 'ExtraWandsRarity'); } if (Type == 'Shield') { Rarity += Skill('H', 'ExtraShieldsRarity'); } if (Type == 'Charm') { Rarity += Skill('H', 'ExtraCharmsRarity'); } if (Legendary) { Rarity += 300; } if (Tier == 1) { Rarity *= 1.1; } if (Tier == 2) { Rarity += 50; Rarity *= 1.2; } if (Tier == 3) { Rarity += 100 + CurrentStage; Rarity *= 1.4; } if (Tier == 4) { Rarity += 300 + CurrentStage * 2; Rarity *= 1.6; } if (RN(100) < 20) { Rarity += 10; Rarity *= 1.1; } if (RN(100) < 15) { Rarity += 10; Rarity *= 1.1; } if (RN(100) < 10) { Rarity += 10; Rarity *= 1.1; } if (RN(100) < 5) { Rarity += 25; Rarity *= 1.1; } if (RN(100) < 1) { Rarity += 100; Rarity *= 1.1; } Rarity *= (100 + CurrentStage * 2) / 100; if (RN(100) < Skill('H', 'RarityBonusChance')) { Rarity += Skill('H', 'RarityBonusAmountFlat'); Rarity += Rarity * Skill('H', 'RarityBonusAmountPcnt') / 100; } Rarity *= (100 + Bonus) / 100; Rarity = Math.ceil(Rarity * (100 + _global.RarityBonus) / 100); if (Rarity > BestItemRarity) { BestItemRarity = Rarity; SharedObjectSave.data.BestItemRarity = Rarity; } if (TotalItemID < 4) { Rarity = _global.RarityBonus; } ItemPoints = Rarity * 25; Uses = this['L_' + Type].BaseUses + RNI(this['L_' + Type].RandomUses); Cooldown = this['L_' + Type].BaseCD + RNI(this['L_' + Type].RandomCD); if (Uses > 25 && Cooldown > 10) { Cooldown = 10; } if (Uses > 50) { Cooldown = Math.ceil(Cooldown / 2); } if (Uses > 75) { Cooldown = Math.ceil(Cooldown / 2); } if (Uses * Cooldown > 90) { Uses = Math.ceil(Uses / 2); } Cooldown *= (100 + Skill('H', 'CursedItems')) / 100; Cooldown = Math.ceil(Cooldown); ItemPoints /= 10 + Math.floor(Uses / 2); if (Uses == 1) { Cooldown = 0; ItemPoints *= 2; } else { ItemPoints *= 1 + Cooldown / 5; } ItemPoints += 50; if (Type == 'Charm' || Type == 'Bomb') { ItemPoints += 500; } if (RN(100) < Skill('H', 'ItemCooldownBonusChance')) { Cooldown = Math.floor(Cooldown / 2); } if (RN(100) < Skill('H', 'ItemUsesBonusChance')) { Uses += Math.ceil(Uses * 0.5); } if (ItemPoints <= 0) { ItemPoints = 50; } GFX = ''; breaker = 0; for (;;) { if (!(GFX == '' && breaker < 999)) break; ++breaker; RandomGFX = this[Type + 'GFX'][RNF(this[Type + 'GFX'].length)]; if (ItemPoints * breaker >= this['L_' + RandomGFX].MinimumRarity) { GFX = RandomGFX; } } EffectBlock = new Object(); EffectBlock.Effect1 = 'None'; EffectBlock.Effect2 = 'None'; EffectBlock.Effect3 = 'None'; EffectBlock.Effect4 = 'None'; AmountBlock = new Object(); AmountBlock.Amount1 = 0; AmountBlock.Amount2 = 0; AmountBlock.Amount3 = 0; AmountBlock.Amount4 = 0; BiasBlock = new Object(); BiasBlock.Bias1 = 0; BiasBlock.Bias2 = 0; BiasBlock.Bias3 = 0; BiasBlock.Bias4 = 0; breaker = 0; while (ItemPoints > 0) { ++breaker; if (breaker > 500) { ItemPoints /= 2; --ItemPoints; } roll = false; gi = 1; while (gi <= 4) { TargetEffect = EffectBlock['Effect' + gi]; if (TargetEffect == 'None') { roll = true; RandomEffect = ItemEffect[RNF(ItemEffect.length)]; if (gi == 1 && (Type == 'Sword' || Type == 'Axe' || Type == 'Bow')) { RandomEffect = 'PhysicalDamage'; } if (gi == 1 && (Type == 'Wand' || Type == 'Bomb')) { RandomEffect = 'MagicDamage'; } if (gi == 1 && Type == 'Shield') { RandomEffect = 'FlatArmor'; } Chance = this['L_' + RandomEffect][Type + 's']; if (Chance > 0) { Chance += Skill('H', 'Item' + this['L_' + RandomEffect].Type + 'RollBonus'); } else {} ParentSkill = this['L_' + RandomEffect].ParentSkill; HasParent = false; if (ParentSkill == undefined) { HasParent = true; } gi2 = 1; while (gi2 <= 4) { if (EffectBlock['Effect' + gi2] == RandomEffect) { Chance = 0; } if (ParentSkill != undefined && EffectBlock['Effect' + gi2] == ParentSkill) { HasParent = true; if (Chance > 0) { Chance += RNF((4 - gi) * 25); } } ++gi2; } if (HasParent == false) { Chance = 0; } if (RN(100) < Chance && (ItemPoints >= this['L_' + RandomEffect].EffectCost || breaker > 100)) { ItemPoints -= this['L_' + RandomEffect].EffectCost; EffectBlock['Effect' + gi] = RandomEffect; AmountBlock['Amount' + gi] = 1; if (EffectBlock['Effect' + gi] == 'MultiShot') { AmountBlock['Amount' + gi] = 2; } if (RN(100) < 25) { BiasBlock['Bias' + gi] = RNF(20, -10); } if (RN(100) < 10) { BiasBlock['Bias' + gi] = RNF(40, -20); } } } else { if (this['L_' + TargetEffect].Numeric && AmountBlock['Amount' + gi] < this['L_' + TargetEffect].MaxAmount) { level = true; Chance = this['L_' + TargetEffect][Type + 's']; Chance += Skill('H', 'Item' + this['L_' + TargetEffect].Type + 'RollBonus'); Chance += BiasBlock['Bias' + gi]; CostRef = this['L_' + TargetEffect].EffectCost; if (RN(100) < Chance && ItemPoints >= CostRef) { LevelAmount = 1; if (this['L_' + TargetEffect].MaxAmount > 100) { LevelAmount += RNC(5); } ItemPoints -= CostRef * LevelAmount; AmountBlock['Amount' + gi] += LevelAmount; GravityRef = this['L_' + TargetEffect].Gravity; if (GravityRef > 0) { ItemPoints *= (100 - GravityRef) / 100; } if (GravityRef < 0) { GravityPoints = ItemPoints * Math.abs(GravityRef) / 100; ItemPoints -= GravityPoints; LevelAmount = GravityPoints / CostRef; AmountBlock['Amount' + gi] += Math.floor(LevelAmount); } if (ItemPoints > 10000) { RushPoints = ItemPoints * 0.04; ItemPoints -= RushPoints; LevelAmount = RushPoints / CostRef; AmountBlock['Amount' + gi] += Math.floor(LevelAmount); } if (AmountBlock['Amount' + gi] > this['L_' + TargetEffect].MaxAmount) { AmountBlock['Amount' + gi] = this['L_' + TargetEffect].MaxAmount + RNC(2); } } } else { ItemPoints *= 0.98; ItemPoints -= 5; } } if (roll) { gi = 999; } ++gi; } } X = TotalItemID; this['I_Item' + X] = new Object(); this['I_Item' + X].Name = 'Item' + TotalItemID; this['I_Item' + X].Type = Type; this['I_Item' + X].GFX = GFX; this['I_Item' + X].MaxUses = Uses; this['I_Item' + X].TotalCooldown = Cooldown; this['I_Item' + X].Rarity = Rarity; this['I_Item' + X].Effect1 = EffectBlock.Effect1; this['I_Item' + X].Value1 = AmountBlock.Amount1; this['I_Item' + X].Effect2 = EffectBlock.Effect2; this['I_Item' + X].Value2 = AmountBlock.Amount2; this['I_Item' + X].Effect3 = EffectBlock.Effect3; this['I_Item' + X].Value3 = AmountBlock.Amount3; this['I_Item' + X].Effect4 = EffectBlock.Effect4; this['I_Item' + X].Value4 = AmountBlock.Amount4; ItemList[TotalItemID] = this['I_Item' + X]; ++TotalItemID; } function AddInventoryItem(ID) { ++LootFound; if (LootFound > MostLootFound && TGS == false) { MostLootFound = LootFound; SharedObjectSave.data.MostLootFound = MostLootFound; } a = 0; while (a < InventoryList.length + 1) { if (InventoryList[a] == undefined) { InventoryList[a] = ID; a = 99999; } ++a; } } function CountInventory() { _global.LootCount = 0; Length = InventoryList.length; c = 0; while (c < Length) { if (InventoryList[c] != undefined) { ++_global.LootCount; } ++c; } } function CollapseInventory() { Length = InventoryList.length; c = 0; while (c < Length) { BlankFound = false; cc = 0; while (cc < Length) { if (InventoryList[cc] == undefined) { BlankFound = true; } if (BlankFound == true) { InventoryList[cc] = InventoryList[cc + 1]; } ++cc; } ++c; } TempArray = InventoryList; InventoryList = new Array(); c = 0; while (c < Length) { if (TempArray[c] != undefined) { InventoryList[c] = TempArray[c]; } ++c; } } function ResetItemShop() { i = 1; while (i <= 4) { this['ShieldR' + i] = 1; this['SwordR' + i] = 1; this['BowR' + i] = 1; this['PotionR' + i] = 1; ++i; } ShieldItemTier = 1; SwordItemTier = 1; BowItemTier = 1; PotionItemTier = 1; ItemSequence(); } function ItemSequence() { DecideSequence('Shield'); DecideSequence('Sword'); DecideSequence('Bow'); DecideSequence('Potion'); } function DecideSequence(Type) { RV = 1; if (Math.random() * 100 < 10) { ++RV; } if (Math.random() * 100 < 5) { ++RV; } Rarity1 = RV; if (Math.random() * 100 < 10) { ++RV; } if (Math.random() * 100 < 1) { ++RV; } Rarity2 = RV; if (Math.random() * 100 < 30) { ++RV; } Rarity3 = RV; if (RV < 3 || Math.random() * 100 < 75) { ++RV; } Rarity4 = RV; if (Rarity1 > 4) { Rarity1 = 4; } if (Rarity2 > 4) { Rarity2 = 4; } if (Rarity3 > 4) { Rarity3 = 4; } if (Rarity4 > 4) { Rarity4 = 4; } this[Type + 'R1'] = Rarity1; this[Type + 'R2'] = Rarity2; this[Type + 'R3'] = Rarity3; this[Type + 'R4'] = Rarity4; } TotalItemID = 0; InventoryList = new Array(); ItemList = new Array(); I_Item0 = new Object(); I_Item0.Name = 'Item' + TotalItemID; I_Item0.Type = 'Sword'; I_Item0.GFX = 'Sword8'; I_Item0.MaxUses = 99; I_Item0.TotalCooldown = 5; I_Item0.Rarity = 0; I_Item0.Effect1 = 'PhysicalDamage'; I_Item0.Value1 = 10; I_Item0.Effect2 = 'None'; I_Item0.Value2 = 1; I_Item0.Effect3 = 'None'; I_Item0.Value3 = 1; I_Item0.Effect4 = 'None'; I_Item0.Value4 = 1; if (ItemSaveAbility == true) { I_Item0 = ItemSave; } ItemList[TotalItemID] = I_Item0; ++TotalItemID; GenItem(Type, 0); GenItem(Type, 0); GenItem(Type, 0); ACTIVEITEM1.ID = 1; ACTIVEITEM1.ItemID = 0; ACTIVEITEM1.Uses = 1; ACTIVEITEM1.Cooldown = 25; ACTIVEITEM1.MaxCooldown = 25; ACTIVEITEM2.ID = 2; ACTIVEITEM2.ItemID = 1; ACTIVEITEM2.Uses = 1; ACTIVEITEM2.Cooldown = 150; ACTIVEITEM2.MaxCooldown = 150; ACTIVEITEM3.ID = 3; ACTIVEITEM3.ItemID = 2; ACTIVEITEM3.Uses = 1; ACTIVEITEM3.Cooldown = 75; ACTIVEITEM3.MaxCooldown = 75; ACTIVEITEM4.ID = 4; ACTIVEITEM4.ItemID = 3; ACTIVEITEM4.Uses = 1; ACTIVEITEM4.Cooldown = 200; ACTIVEITEM4.MaxCooldown = 200; InitiateActiveItems(); ACTIVEITEM1.Cooldown = ACTIVEITEM1.MaxCooldown; ACTIVEITEM2.Cooldown = ACTIVEITEM2.MaxCooldown; ACTIVEITEM3.Cooldown = ACTIVEITEM3.MaxCooldown; ACTIVEITEM4.Cooldown = ACTIVEITEM4.MaxCooldown; MA1 = false; MA2 = false; MA3 = false; MA4 = false; ManualAuto1.onPress = function () { if (_global.GamePause != true) { if (MA1 == true) { MA1 = false; this.gotoAndStop(1); } else { MA1 = true; this.gotoAndStop(2); } } }; ManualAuto2.onPress = function () { if (_global.GamePause != true) { if (MA2 == true) { MA2 = false; this.gotoAndStop(1); } else { MA2 = true; this.gotoAndStop(2); } } }; ManualAuto3.onPress = function () { if (_global.GamePause != true) { if (MA3 == true) { MA3 = false; this.gotoAndStop(1); } else { MA3 = true; this.gotoAndStop(2); } } }; ManualAuto4.onPress = function () { if (_global.GamePause != true) { if (MA4 == true) { MA4 = false; this.gotoAndStop(1); } else { MA4 = true; this.gotoAndStop(2); } } }; _global.HeroMode = false; LootFound = 0; SwordDestroy = true; AxeDestroy = true; BowDestroy = true; WandDestroy = true; ShieldDestroy = true; CharmDestroy = true; PotionDestroy = true; BombDestroy = true; SwordSell = true; AxeSell = true; BowSell = true; WandSell = true; ShieldSell = true; CharmSell = true; PotionSell = true; BombSell = true; ResetItemShop(); DefenseUpgrade = 1; AttackUpgrade = 1; MagicUpgrade = 1; UtilityUpgrade = 1; ExchangeTier = 1; MarketTier = 0; MarketBuy = 0; } frame 3 { function TGSoef() { V = 0; TotalSize = HeroSkill.length + SpiderSkill.length + 4; i = 0; while (i < TotalSize) { flag = false; if (i < HeroSkill.length) { if (Trinity1[i] - 9 != this['H_' + HeroSkill[i]].SkillLevel) { Trinity1[i] = Trinity2[i]; this['H_' + HeroSkill[i]].SkillLevel = Trinity1[i]; Trinity1[i] += 9; flag = true; } } else { if (i - HeroSkill.length < SpiderSkill.length) { if (Trinity1[i] - 9 != this['S_' + SpiderSkill[i - HeroSkill.length]].SkillLevel) { Trinity1[i] = Trinity2[i]; this['S_' + SpiderSkill[i - HeroSkill.length]].SkillLevel = Trinity1[i]; Trinity1[i] += 9; flag = true; } } else { ++V; if (V == 1) { if (Trinity1[i] - 9 != _global.StarCount) { Trinity1[i] = Trinity2[i]; _global.StarCount = Trinity1[i]; Trinity1[i] += 9; flag = true; } } if (V == 2) { if (Trinity1[i] - 9 != _global.GoldCount) { Trinity1[i] = Trinity2[i]; _global.GoldCount = Trinity1[i]; Trinity1[i] += 9; flag = true; } } if (V == 3) { if (Trinity1[i] != _global.HeroMode) { Trinity1[i] = Trinity2[i]; _global.HeroMode = Trinity1[i]; flag = true; } } if (V == 4) { if (Trinity1[i] - 9 != CurrentStage) { Trinity1[i] = Trinity2[i]; CurrentStage = Trinity1[i]; Trinity1[i] += 9; flag = true; } } } } if (flag == false) { Trinity2[i] = Trinity1[i]; } else { trace('cheat detected, punishment activating: ' + i); if (i < HeroSkill.length) { trace('cheated H ' + HeroSkill[i]); } else { if (i - HeroSkill.length < SpiderSkill.length) { trace('cheated S ' + SpiderSkill[i - HeroSkill.length]); } } TGS = true; kongregate.stats.submit('HallOfShame', 1); Trinity1[this.SpiderKey_MHP] += 50000; S_MHP.SkillLevel += 50000; Trinity1[this.SpiderKey_AttackSpeed] += 5000; S_AttackSpeed.SkillLevel += 5000; Trinity1[this.SpiderKey_RageDamageBonusFlat] += 1000; S_RageDamageBonusFlat.SkillLevel += 1000; Trinity1[this.SpiderKey_CancelBlockChance] += 100; S_CancelBlockChance.SkillLevel += 100; } ++i; } } Index = 0; Trinity1 = new Array(); Trinity2 = new Array(); TotalSize = HeroSkill.length + SpiderSkill.length + 4; V = 0; i = 0; while (i < TotalSize) { if (i < HeroSkill.length) { this['HeroKey_' + HeroSkill[i]] = i; Trinity1[i] = this['H_' + HeroSkill[i]].SkillLevel + 9; } else { if (i - HeroSkill.length < SpiderSkill.length) { this['SpiderKey_' + SpiderSkill[i - HeroSkill.length]] = i; Trinity1[i] = this['S_' + SpiderSkill[i - HeroSkill.length]].SkillLevel + 9; } else { ++V; if (V == 1) { this.StarKey = i; Trinity1[i] = _global.StarCount + 9; } if (V == 2) { this.GoldKey = i; Trinity1[i] = _global.GoldCount + 9; } if (V == 3) { this.HeroKey = i; Trinity1[i] = _global.HeroMode; } if (V == 4) { this.StageKey = i; Trinity1[i] = CurrentStage + 9; } } } Trinity2[i] = Trinity1[i]; ++i; } TGS = false; } // unknown tag 88 length 126 movieClip 2862 { } movieClip 2874 { frame 1 { stop(); } } movieClip 2877 { frame 1 { stop(); } } movieClip 2882 { } movieClip 2883 { } movieClip 2884 { } movieClip 2985 { frame 1 { stop(); } } movieClip 2986 { } movieClip 2987 { } movieClip 3004 { frame 1 { stop(); } } movieClip 3014 { } movieClip 3016 { } movieClip 3018 { } movieClip 3020 { } movieClip 3022 { } movieClip 3024 { } movieClip 3025 { } movieClip 3029 { } movieClip 3030 { frame 1 { if (_global.BunnyCaptive != true) { Web._visible = false; } else { Web._y += Math.random() * 2 - 1; Web._yscale += Math.random() * 4 - 2; } } instance Bunny of movieClip 1823 RabbitUnit { onClipEvent (load) { stop(); } } } movieClip 3031 { frame 1 { this.BTN.onPress = function () { this._parent._parent.UseItem(this._parent.ID, this._parent.ItemID); }; } } movieClip 3034 { } movieClip 3035 { } movieClip 3038 { } movieClip 3039 { } movieClip 3042 { } movieClip 3043 { } movieClip 3054 { } movieClip 3055 { frame 1 { stop(); } } movieClip 3065 { } movieClip 3068 { } movieClip 3070 { } movieClip 3074 { } movieClip 3077 { } movieClip 3081 { frame 1 { this.BTN.onPress = function () { this._parent._parent.SpiderTime = 124; }; } } movieClip 3087 { } movieClip 3088 { } movieClip 3089 { } movieClip 3095 { } instance of movieClip 3095 { onClipEvent (load) { MaxFPS = 24; _root._quality = 'high'; _global.Quality = 3; _global.autoQuality = true; L = 90; frames = 0; } onClipEvent (enterFrame) { if (_global.autoQuality == true) { if (_global.Quality == 1) { if (L == 85 && Laverage > MaxFPS - 5) { _root._quality = 'medium'; _global.Quality = 2; } else { if (L == 85) { _root._quality = 'low'; _global.Quality = 1; } } } else { if (_global.Quality == 2) { if ((L == 55 || L == 85) && Laverage < MaxFPS - 5) { _root._quality = 'low'; _global.Quality = 1; } else { if (L == 85 && Laverage < MaxFPS - 2) { _root._quality = 'medium'; _global.Quality = 2; } else { if (L == 85) { _root._quality = 'high'; _global.Quality = 3; } } } } else { if (_global.Quality == 3) { if ((L == 35 || L == 55 || L == 85) && Laverage < MaxFPS - 8) { _root._quality = 'low'; _global.Quality = 1; } else { if ((L == 55 || L == 85) && Laverage < MaxFPS - 5) { _root._quality = 'medium'; _global.Quality = 2; } else { if (L == 85) { _root._quality = 'high'; _global.Quality = 3; } } } } } } millisecond = getTimer(); framespersecond = Math.round(1000 / (millisecond - o)); o = millisecond; timer = frames / MaxFPS; if (L < 90) { ++L; LT = timer - TS; LS = millisecond - MS; } else { L = 0; TS = timer; MS = millisecond; } if (_global.GamePause == true) { L = 100; } Laverage = Math.floor((LT / LS) * 30000); average = Math.floor((timer / millisecond) * 30000); ++frames; currentFPS.text = 'FPS: ' + framespersecond; averageFPS.text = 'Average: ' + average; localFPS.text = 'Local: ' + Laverage; } } } movieClip 3122 { } movieClip 3126 { } movieClip 3128 { } movieClip 3131 { } movieClip 3133 { } movieClip 3135 { } movieClip 3161 { } movieClip 3165 { } instance of movieClip 663 SkillDescription { onClipEvent (load) { this.swapDepths(21500000); } } movieClip 3167 { } movieClip 3169 { } movieClip 3171 { } movieClip 3173 { } movieClip 3175 { } movieClip 3177 { } movieClip 3179 { } movieClip 3181 { } movieClip 3183 { } movieClip 3185 { } movieClip 3192 { } movieClip 3199 { } movieClip 3201 { } movieClip 3206 { frame 1 { if (this._parent.Speed == undefined) { stop(); } } } movieClip 3211 { frame 1 { if (this._parent.Speed == undefined) { stop(); } } } movieClip 3214 { } movieClip 3216 { } movieClip 3218 { } movieClip 3220 { } movieClip 3222 { } movieClip 3226 { } movieClip 3228 { } movieClip 3240 { frame 1 { stop(); } } movieClip 3242 { } movieClip 3249 { } movieClip 3251 { } movieClip 3253 { } movieClip 3255 { } movieClip 3257 { } movieClip 3263 { } movieClip 3265 { } movieClip 3267 { frame 1 { stop(); } } movieClip 3269 { } movieClip 3271 { } movieClip 3275 { } movieClip 3277 { frame 1 { stop(); } } movieClip 3279 { frame 1 { stop(); } } movieClip 3281 { frame 1 { stop(); } } movieClip 3283 { frame 1 { stop(); } } movieClip 3285 { } movieClip 3287 { } movieClip 3289 { } movieClip 3291 { } movieClip 3293 { } movieClip 3295 { } movieClip 3297 { } movieClip 3299 { } movieClip 3303 { frame 1 { stop(); } } movieClip 3305 { frame 1 { stop(); } } movieClip 3309 { frame 1 { stop(); } } movieClip 3314 { frame 1 { stop(); } } movieClip 3316 { frame 1 { stop(); } } movieClip 3318 { frame 1 { stop(); } } movieClip 3322 { frame 1 { stop(); } } movieClip 3324 { frame 1 { stop(); } } movieClip 3326 { frame 1 { stop(); } } movieClip 3328 { frame 1 { stop(); } } movieClip 3333 { frame 1 { stop(); } } movieClip 3335 { frame 1 { stop(); } } movieClip 3337 { } movieClip 3344 { } movieClip 3346 { } movieClip 3348 { frame 1 { stop(); } }




http://swfchan.com/41/201630/info.shtml
Created: 11/10 -2018 10:32:15 Last modified: 11/10 -2018 10:32:15 Server time: 25/04 -2024 23:30:56