#Library "SpellLib" #include "zcommon.acs" #define NULLSTR 0 #define SKILL_EXTREME 5 #define SKILL_HORRIBLE 6 #define SKILL_IMPOSSIBLE 7 #define SKILL_OMEGA 8 /* Script Reference Used Tags and Scripts Thing Tags: 1-999 - Assume used in standard levels 1000 - Friendly Monsters 1001 - The Main Player [set "Player1TID" to this or whatever ID you plan to use if you decide to change it] // 1002-1014 - Temporary ThingIDs 1123 - Main Sauron Eye's TID [Boss Lifemeters] 1124 - Sauravatar's TID [Boss Lifemeters] 1222 - General Demonic Boss TIDs 1537 - TID for Seed Spawn system 1501 Main Player's Tension Aura 1502 Main Player's Tension Aura Light 2001 - Spawned Spell Projectiles start with this TID 4443 - Final TID for Healing Projectiles 4444 - Spawned Spell Projectiles ultimately end up with this TID */ /* HudMessage ID Tags: 1 - HP Gained/Lost [for damage counts] 2 - YOU DIED text 3 - Tunnel Vision Display [death] 4 - Tunnel Vision Display [badly injured and/or dead] ... 106-108 - Bonus Text ... 111 - Reserved? [TCOTD:A uses it for Note displays. :V] ... 196 - Debug Display for Lifebars 197 - Level Display for Lifebars 198 - Name of Creature for Lifebars 199 - HP/MaxHP display for Lifebars 201 - Actor Lifebar [Frame] 202-302 - Lifebar Notches [100 total] ... 901 - Main List for Armor Display Menu 902 - Top Line for Armor Display Menu 903 - Armor Icon 904 - Background Tint for Menus/Armor-Display ... // MENU SYSTEM 1000-2000 - General Reserved for Menu System --NAMED Scripts and their functions--: ["CENTRALSCRIPTOFEVERYTHING"] - ******MANDATORY****** Check Player Stuff Consistantly And Startup Stats. ******MANDATORY****** ["DMV"] - ***DEBUG*** Prints out or changes the number for the "MiscellaneousVars[#]" vars. ["GiveStats"] - ***DEBUG*** Cheat to set stats ("pukename GiveStats [type] [value]") ["EXPCheat"] - ***DEBUG*** Adds EXP equal to the Amount Inputted ("Pukename EXPCheat [number of experience to add] [EXP type] [EXP Increment Type]" in console) ***DEBUG*** ["TestHudSize"] - ***DEBUG*** Used for testing SetHudSize customization in-game. ["TestHudAlign"] - ***DEBUG*** Used for testing coordinate/alignments on specific "HudMessage" usages in-game. ["BuffTimer"] - ***DEBUG*** Gives a specific buff/debuff for x amount of seconds. ["PrintArmorValues"] - ***DEBUG*** Debugging for Printing Armor Amounts on Screen ***DEBUG*** ["SetManaAmount"] - ***DEBUG*** Sets Mana to the Current Amount (in console) ***DEBUG*** ["DamagePrintout"] - ***DEBUG*** Prints out damage on screen for a projectile attached to this script ***DEBUG*** ["SetLevelCap"] - ***DEBUG*** Set Levelcap Manually ***DEBUG*** ["SetTensionLevel"] - Sets Tension level to the specfied amount ["DV1M04-Music1"] - ***EVENT*** Changes Music for Entering the Fishmouth Temple in MAP04 [DVI-DS] or MAP12 [DVII-DS] ***EVENT*** ["DVI-M02EyeDead"] - ***EVENT*** Killed MAP02 Eye [DVI-DS] / MAP12 First Eye [DVII-DS] ***EVENT*** ["DV1-M04Eye1Dead"] - ***EVENT*** Killed MAP04 Eye #1 [DVI-DS] / MAP12 Second Eye [DVII-DS] ***EVENT*** ["DV1-M04Eye2Dead"] - ***EVENT*** Killed MAP04 Eye #2 [DVI-DS] / MAP12 Third Eye [DVII-DS] ***EVENT*** ["DVI-M04MonsterTags"] - ***EVENT*** Makes Monsters in MAP04 [DVI-DS] or MAP12 [DVII-DS] have a TID of 666 ***EVENT*** ["DVI-MainEyeDeath1"] - ***EVENT*** Killed MAP04 Main Eye [DVI-DS] / MAP12 Fourth Eye [DVII-DS] ***EVENT*** ["DVI-MainEyeDeath2"] - ***EVENT*** Defines the Buildup to Sauravatar's appearance [DVI-DS & DVII-DS] ***EVENT*** ["DVI-AwakenSauravatar"] - ***EVENT*** Awakens the Stone Cyberdemon that becomes Sauravatar [DVI-DS & DVII-DS] ***EVENT*** {"UnsetFishmouthMusic"} - ***LINETRIGGER-EVENT*** Changes Music back when exiting the Fishmouth Temple in MAP04 [DVI-DS] or MAP12 [DVII-DS] ***LINETRIGGER-EVENT*** {"SetFishmouthMusic"} - ***LINETRIGGER-EVENT*** Changes Music for Entering the Fishmouth Temple in MAP04 [DVI-DS] or MAP12 [DVII-DS] ***LINETRIGGER-EVENT*** ["SauravatarDeath"] - ***EVENT*** Sauravatar's Death [DVI-DS specific version] ***EVENT*** ["Initializer"] - Exp Table Setup (& Initial Startup Process [added for DVI/DVII-DS]) ["CreateTranslationTables"] - Color Translation Tables **new for DV-DS and beyond** ["HUDDisplay"] - HUD Display ["DamageDisplays"] - Controls DamageIndicators for Non-Players ["DoomMonsterDeathEmulation"] - Emulates the various special scripts in Doom 1/2 mode [E1M8, MAP07, etc] ["LifebarDisplayClientSide"] - Controls Lifebar Displays [CLIENTSIDE only] ["LifebarOptionChecker"] - Event Linked to call "LifebarDisplayClientSide" Event ["TunnelVisionControl"] - Red Tunnel Vision/Heartbeat Effect when badly injured ["DeathTunnelVision"] - (related to the tunnel vision effect in death >.>) ["MagicEffects"] - Spell Effects ["AeonPointKey"] - Overall Aeon Point Handling [combines three once seperated scripts] ["ShowArmorStats"] - Shows Stats for Armor items ["ChangeArmorPage"] - Test Script for Toggling pages for armor display lists ["SpellSelection"] - Spell Selection ["SpellQuickAssign"] - Spell Readying ["SpellCasting"] - Spell Casting ["SetSauravatarHealth"] - Configures the full max health of the Sauravatar and sets it to its proper Health to start the fight [DVI-DS & DVII-DS] ["WeaponAngleLoop"] - For the Sceptre's Spin Attack & HellCore Weapons (used as a replacement for uservars in weapons) ["WeaponAngleLoopSecondary"] - For the Sceptre's Spin Attack & HellCore Weapons [secondary level] (used as a replacement for uservars in weapons) ["HellcoreFireMode"] - Determines the mode selected for a Hellcore weapon using multiple types of attacks ["CheckPlayerIfDead"] - Used with Sauron Items and Flora's unique armor to prevent an endless repeat of their 'equipped' sounds if a player dies [due to changes made to support death-exit options] ["StartTensionCountDown"] - When an attack or a healing ability is activated while Tension is active, starts the countdown for it to fade. ["UseWhistle"] - Activate's the player's whistle ability, which will awaken as many monsters as possible in a certain area ["CheckCharacterClass"] - Returns the Character ID // Petra Specific Scripts ["CheckAChristinaCheck"] - Script that checks when certain keys are pressed while Alexandra Christina is selected. (Dodge, Bouncing Beams, Heel Kick, Reloading) */ // TODO: Reduce # of Global Vars >________>; [stupid 64 global var limit] // Global Vars NOT YET USED AT ALL [31/64] //------------------------------------- /* global int 0:?; // RESERVED FOR MOD GLOBAL VAR USAGE. :V --- [TCOTD:A's MAP01 uses it for the Siren Timer (sirentimer[] array)] global int 24:?; // RESERVED FOR MOD GLOBAL VAR USAGE. :V --- [TUTNT'S TNT03A1 uses it (g_lightval)] --- [TUTNT'S TNT03A2 uses it (g_lightval)] global int 25:?; // RESERVED FOR MOD GLOBAL VAR USAGE. :V global int 32:?; // RESERVED FOR MOD GLOBAL VAR USAGE. :V global int 56:?; // RESERVED FOR MOD GLOBAL VAR USAGE. :V --- [KDIZD'S intermap.acs uses it (g_ms[] array)] global int 57:?; // RESERVED FOR MOD GLOBAL VAR USAGE. :V --- [KDIZD'S intermap.acs uses it (g_ps[] array)] global int 58:?; // RESERVED FOR MOD GLOBAL VAR USAGE. :V --- [KDIZD'S intermap.acs uses it (secretmap)] global int 59:?; // RESERVED FOR MOD GLOBAL VAR USAGE. :V --- [KDIZD'S intermap.acs uses it (globalinit)] global int 60:?; // RESERVED FOR MOD GLOBAL VAR USAGE. :V --- [KDIZD'S intermap.acs uses it (locations)] */ // global int 11:?; // global int 13:?; // global int 14:?; // global int 15:?; // global int 17:?; // global int 20:?; // global int 35:?; // global int 36:?; // global int 39:?; // global int 40:?; // global int 42:?; // global int 43:?; // global int 44:?; // global int 47:?; // global int 48:?; // global int 49:?; // global int 52:?; // global int 53:?; // global int 63:?; // Global Vars NOT used by SBARINFO/other lumps //----------------------------------------------------------------------------- global int 1:Player1TID; // global int 2:CurrentMana; global int 3:MaxMana; global int 4:PlayerLevel; global int 5:SelectedSpell; global int 6:ReadiedSpells[]; global int 7:DVDSSpecialArrayValue[]; // [0] = 0 = "Conscious", 1> = "Unconscious" [negates regeneration, focus, tension, prevents dashing] // [1] = Sets MP/Mana to 0 then unsets itself // [2] = Sets Stamina to 0 then unsets itself // [3] = Unloved Specific - Makes Hellcore Weapons drop 4x more often, etc :o // [4] = TCOTD:A Specific // [5] = Circus2 Specific // [6] = Make HUD invisible [for TITLEMAPs or KDIZD's INTER usage] // [7] = Make HUD visible again // [8] = Remove all weapons [TITLEMAPs] // [9] = Full Freeze [Prevents Dashing] // [10] = KDIZD Specific // [11] = TUTNT Specific global int 8:MaxHealthTrue; global int 9:Experience; global int 10:ExpTable[]; // Note To Self: NECESSARY TO BE "GLOBAL INT" TO RUN WITH HUB-BASED LEVELS LIKE IN HEXEN OR STRIFE, MISFIT YOU DINGUS-FACE. :V global int 12:ModType; // 0 = "Normal" Doom 1/2/Heretic/Hexen/Strife // 1 = Deus Vult // 2 = Deus Vult 2 // Powerup Timers [moved to global to allow timers to transition between levels] global int 16:PowerupTimer[]; // [0] - Light // [1] - Invisibility // [2] - Flight // [3] - Stealth // [4] - Invulnerability // [5] - Time Freeze // [6] - Fear/Terror Aura // [7] - Divine Avatar // [8] - Spreader Aura Lv. 1 // [9] - Spreader Aura Lv. 2 // [10] - Oomph [aka Bikill] (2x damage, up to +8% crit rate) // [11] - Buff (2x defense, up to +10% survival rate, 2x balance) // [12] - Accelerate (1.33x Speed, up to +10% evade rate, 1.25x jumping) // [13] - Blunt (0.5x damage, down to -8% crit rate) [not implemented yet] // [14] - Sap (0.5x defense, down to -10% survival rate, 0.75x balance) [not implemented yet] // [15] - Decelerate (0.66x Speed, down to -10% evade rate, 0.875x jumping) [not implemented yet] // [16] - Poison (HP/Health is damaged every so many tics, down to as low as 1 [cannot kill the player]) [not implemented yet] // [17] - Corrosion (AP/Armor is damaged every so many tics, down to as low as 0) [not implemented yet] // [18] - Fatigue (HP/Mana/Stamina Regeneration and Hellcore Cooldown are drastically reduced in speed) [not implemented yet] // [19] - Blind (exactly as on the tin :V) [not implemented yet] // [20] - Sleep (can't move, see or perform actions, 1.25x more damage from attacks, however HP/MP/Stamina regeneration rates are 5x) [not implemented yet] // [21] - Silence/Mute (spells are locked out) [not implemented yet] // [22] - RadSuit (mostly a proper timer for the radsuit) // [23] - Berserk (mostly a proper timer for the berserk powerup) // [24] - CloverSphere // [129] - ?????? global int 18:MiscFixedVars[]; // ***ARRAY*** For various permenant fixed-point vars in scripts // [1] HUD X Position #1 [Debugger, for easily setting coordinates with HUD testing] // [2] HUD Y Position #1 [Debugger, for easily setting coordinates with HUD testing // [3] HUD X Position #2 [Debugger, for easily setting coordinates with HUD testing // [4] HUD Y Position #2 [Debugger, for easily setting coordinates with HUD testing // [5] HUD X Position #3 [Debugger, for easily setting coordinates with HUD testing // [6] HUD Y Position #3 [Debugger, for easily setting coordinates with HUD testing // [7] HUD X Position #4 [Debugger, for easily setting coordinates with HUD testing // [8] HUD Y Position #4 [Debugger, for easily setting coordinates with HUD testing // [9] HUD X Position #5 [Debugger, for easily setting coordinates with HUD testing // [10] HUD Y Position #5 [Debugger, for easily setting coordinates with HUD testing // [11] HUD X Position #6 [Debugger, for easily setting coordinates with HUD testing // [12] HUD Y Position #6 [Debugger, for easily setting coordinates with HUD testing // [13] HUD X Position #7 [Debugger, for easily setting coordinates with HUD testing // [14] HUD Y Position #7 [Debugger, for easily setting coordinates with HUD testing // [15] HUD X Position #8 [Debugger, for easily setting coordinates with HUD testing // [16] HUD Y Position #8 [Debugger, for easily setting coordinates with HUD testing // [17] HUD X Position #9 [Debugger, for easily setting coordinates with HUD testing // [18] HUD Y Position #9 [Debugger, for easily setting coordinates with HUD testing // [19] HUD X Position #10 [Debugger, for easily setting coordinates with HUD testing // [20] HUD Y Position #10 [Debugger, for easily setting coordinates with HUD testing // [21-100] are unused for now :V // [101] Invisibility Pulse Level // Hellcore Energy and Heating global int 19:HellcoreOverheatLevel; // Every 1% is times 25 tics [1 tics of time equals 4 units] global int 21:MiscellaneousVars[]; // ***ARRAY*** For various permenant vars in scripts [AKA THIS IS THE BIG VAR ARRAY OF THIS ACS SCRIPT] // [0] is ? // [1] is for Artificial Map Inflation (EXP) [Percentile] [to increase/decrease the difficulty of levels by a % of maps] // [2] is for Artificial Map Inflation (Stats) [Percentile] [to increase/decrease the difficulty of levels by a % of maps] // [3] is for Artificial Map Inflation (Spawn/Stealth) [Percentile] [to increase/decrease the difficulty of levels by a % of maps] // [4] is for checking if the player is Fully Frozen [cutscenes, etc] // [5] is for Artificial Map Inflation (OVERALL) [Percentile] [to increase/decrease the difficulty of levels by a % of maps] // [6] is the Fygg Drop Identification number (out of [7]) // [7] is the highest number for the Fygg chance drop // [8] is Stamina Ratio display [for HUDs, 5 units in [xxx.xx] format]] // [9] is for the category of spells you're using [for revised Spell Selecting] // [10] is for the subspell within the current category of spells you're using [for revised Spell Selecting] // [11] is for weapon slot being used [for HUD] // [12] is for the death time counter, to fade the screen to blackish-red when the player dies. // [13] is the count of times to try to reset the fade if a resurrect is used. // [14] is for if Divine Avatar was acquired via a spell cast [instead of a Divination Sphere], so MP costs are changed accordingly // [15] Invisibility "Level" [for defensive calculations] // [16 to 19] are unused for now :V // [20] is the timer for the spinning attack [for weapon checks] // [21] is current Stamina points // [22] is maximum Stamina points // [23] is a character's 'Evasion' chance [out of 100.0%] // [24] is for the menu position for using Aeon Points [0 = No Selection, 1 = Agility, 2 = Defense, 3 = Deftness, 4 = Sorcery, 5 = Strength, 6 = Therapeusis] // [25] is for the number of unused Aeon Points [extra points to allocate to stats] // [26] is the Fygg limit [skill dependant] // [27] is for the number of Fyggs found [limit is skill dependant] // [28] is for the Seed of Skill limit amount [to be used in more than one script] // [29] is for the Seed limit amount [to be used in more than one script] // [30] is for the total number of seeds of types 31-36 carried by your character [to enforce a limit of seeds found in the game to prevent total game breakage] // [31] is for the number of Seeds of Agility carried by your character [Speed/Jumping Strength] // [32] is for the number of Seeds of Defense carried by your character [Overall Defense] // [33] is for the number of Seeds of Deftness carried by your character [EXP Gains] // [34] is for the number of Seeds of Sorcery carried by your character [Magic Damage] // [35] is for the number of Seeds of Strength carried by your character [Overall Damage] // [36] is for the number of Seeds of Therapeusis carried by your character [Magic Defense] // [37] is for the number of Seeds of Skill carried by your character [will raise a random type [31-36] by one seed level, even if you have reached your seed limit] // [38] is for the number of Seeds of Life carried by your character [HP Increases] // [39] is for the number of Seeds of Magic carried by your character [MP Increases] // [40] is total number of perks towards "Higher Learning" // [41] is "StaminaPercentFull" // [42] is the # of Aeon Pts Spent on PERKS // [43] is the # of Aeon Pts Spent on STATS // [44] is for holding a temp "cost" of refunded Aeon Points on cooldown [you get back a % immediately, the rest gradually return after a set time] // [45] is the cooldown delay for how long it takes to respec after doing it once // [46] is stamina penalty base time // [47] is for 'stepping' [converted from a global var] // [48] is for Rapid Cast Delay [via ZScript] // [49] is # of kills w/ Hell Warrior Shield weapon // [50] is the Spell-Use Cooldown Timer [possible for future version so spells aren't always tied to how fast you can mash the 'cast spell' buttons :P] // [51] is for Combo "Rank" [D to S] // [52] is for Artificial Map Inflation (EXP) [to increase/decrease the difficulty of levels by a number of maps] // [53] is for Artificial Map Inflation (Stats) [to increase/decrease the difficulty of levels by a number of maps] // [54] is for Artificial Map Inflation (Spawn/Stealth) [to increase/decrease the difficulty of levels by a number of maps] // [55] is the Weapon Page number // [56] is the total number of items so far // [57] is how many Aeon Points are given from items found so far // [58] is how many Aeon Points should be given TOTAL from items found so far // [59] is how many Aeon Points are given from secrets found so far // [60] is how many Aeon Points should be given TOTAL from secrets found so far // [61] is how many Aeon Points are given from kills so far // [62] is how many Aeon Points should be given TOTAL from kills made so far // [63] is the total number of kills so far // [64] is the total number of secrets found so far // [65] is the main storage value for a character's JumpZ height. // [66] is storage for the level-based multiplier for JumpZ height. // [67] is storage for the AGLSeed-based multiplier for JumpZ height. // [68] is storage for bonuses/penalities from armor or other items for JumpZ height. // [69] is storage for Sceptre for JumpZ height. // [70] is storage for the Spell# under the "Offense" spell category // [71] is storage for the Spell# under the "Restorative" spell category // [72] is storage for the Spell# under the "Status" spell category // [73] is storage for the Spell# under the "Conjure" spell category // [74] is storage for a temporary var for helping in-game determination of X-coordinates // [75] is storage for a temporary var for helping in-game determination of Y-coordinates // [76] is storage for a temporary var for helping in-game determination of misc elements 1 // [77] is storage for a temporary var for helping in-game determination of misc elements 2 // [78] is storage for a temporary var for helping in-game determination of misc elements 3 // [79] is storage for a temporary var for helping in-game determination of misc elements 4 // [80] is the number of backpacks grabbed. // [81] is the Player's XPos [for locking player during menu freezes] // [82] is the Player's YPos [for locking player during menu freezes] // [83] is the Player's ZPos [for locking player during menu freezes] // [84] is undefined // [85] is DashDelay // [86] is storage for Aeon Points Multiplier [Menu CVar] // [87] is storage for Seed Multiplier [Menu CVar] // [88] is storage for SceptreXP Multiplier [Menu CVar] // [89] is storage for Shield Uncurse Rate [Menu CVar] // [90] is storage for Base EXP Multiplier [Menu CVar] // [91] is max dash timer // [92] is Heal Item Just Used Timer // [93] is Mana Item Just Used Timer // [94] is Stamina Item Just Used Timer // [95] is Hellcore Item Just Used Timer // [96] is the Current Level of the Imp's Soul // [97] is the Current Level of the Dark Imp's Soul // [98] is the Current Level of the Cacodemon's Soul // [99] is the Current Level of the Cacolantern's Soul // [100] is the Current Level of the Abaddon's Soul // [101] is the Current Level of the Hell Knight's Soul // [102] is the Current Level of the Baron of Hell's Soul // [103] is the Current Level of the Belphegor's Soul // [104] is the Current Level of the Bruiser Demon's Soul // [105] is the Current Level of the Archon of Hell's Soul // [106] is the Current Level of the Pyro Demon's Soul // [107] is the Current Level of the Death Incarnate's Soul // [108] is the Current Level of the Archvile's Soul // [109] is the Current Level of the Diabloist's Soul // [110] is the Current Level of the Flying Balrog's Soul // [111] is the Current Level of the Hades Elemental's Soul [?] // [112] is the Current Level of the Hades Overlord's Soul [?] // [113] is the Previous Level of the Imp's Soul // [114] is the Previous Level of the Dark Imp's Soul // [115] is the Previous Level of the Cacodemon's Soul // [116] is the Previous Level of the Cacolantern's Soul // [117] is the Previous Level of the Abaddon's Soul // [118] is the Previous Level of the Hell Knight's Soul // [119] is the Previous Level of the Baron of Hell's Soul // [120] is the Previous Level of the Belphegor's Soul // [121] is the Previous Level of the Bruiser Demon's Soul // [122] is the Previous Level of the Archon of Hell's Soul // [123] is the Previous Level of the Pyro Demon's Soul // [124] is the Previous Level of the Death Incarnate's Soul // [125] is the Previous Level of the Archvile's Soul // [126] is the Previous Level of the Diabloist's Soul // [127] is the Previous Level of the Flying Balrog's Soul // [128] is the Previous Level of the Hades Elemental's Soul [?] // [129] is the Previous Level of the Hades Overlord's Soul [?] // [130] is storage for Hellcore Heat Rate [Menu CVar] // [131] is storage for Hellcore Cool Rate [Menu CVar] // [132] is the Current Mode for the Bruiser Demon's Soul [0 = Spread Wave, 1 = Larger Fireball, 2 = Ground Wave] // [133] is the Current Mode for the Archon of Hell's Soul [0 = Three-Shot Spread, 1 = Seven-Shot Spread, 2 = Comet Blast] // [134] is the Current Mode for the Pyro Demon's Soul [0 = FireShot Wave, 1 = PyroBall, 2 = Firebomb, 3 = Teleport Explosions] // [135] is the Current Mode for the Diabloist's Soul [0 = Gravity Glare, 1 = Immolation Glare, 2 = Fireblast Volley, 3 = Ground Snakes] // [136] is Buff Timer Overlay Position [for Portraits] // [137] is Buff Timer Overlay Transperancy Timer [for Portraits] // [138] is Buff Timer Overlay Type [for Portraits] // [139] is Buff Type to show [for portraits] // [140] is storage for Starting Sceptre Level [Menu CVar] // [141] is the Current Mode for the Archvile's Soul [0 = Immolation Glare, 1 = Flame Jets] // [142] is EXP Combo Color Flash Timer // [143] is for how far along the degeneration timer is. // [144] is the base degeneration interval for the character // [145] is the Night Vision Eyeglow Pulse timer [portraits] // [146] is Level Stat Multiplier [Menu CVar] // [147] is the Fear/Terror Aura frame timer [portraits] // [148] is other Stats starting factor [Menu CVar] // [149] checks if health is 0 after an initial start [for certain situations done by wads like resurgance >___>;] // [150] saves armor bits #1 [any character] // [151] save weapon bits #1 [any character] // [152] stored Bullets [for Deg/Illu for Forced Pistol Restarts] // [153] stored Shells [for Deg/Illu for Forced Pistol Restarts] // [154] stored Rockets [for Deg/Illu for Forced Pistol Restarts] // [155] stored Cells [for Deg/Illu for Forced Pistol Restarts] // [156] stored Arrows [for Flora for Forced Pistol Restarts] // [157] EXP Combo Timer // [158] EXP Combo Kills // [159] Combo Multiplier // [160] Combo EXP Total // [161] Exp Combo Timer Multiplier // [162] Combo Timer Delay // [163] Secondary Spinning Timer // [164] 5x Stamina Limit // [165] True Stamina Gain/Cost // [166] Dash Timer // [167] Total Monsters Killed by the Player // [168] Whistle Cooldown Timer // [169] is for Artificial Map Inflation (OVERALL) [to increase/decrease the difficulty of levels by a number of maps] // [170] Toggle HUD reference image on or off. // [171] Indicates the player just leveled up [for the new hud] and is the time for the "Level Up!!" and "Stat Up" indicator[s] // [172] Used for the "glow/fade" of the "Level Up" and "Stat Up" indicators // [173] Shows "HealthDifference" in the new HUD for Player's "Damage/Healing" bursts. // [174] Shows "HealthDiffRatio" in the new HUD for Player's "Damage/Healing" bursts. // [175] Shows "NewHealthValue" in the new HUD for the Player's "Damage/Healing" bursts. // [176] Shows "ArmorDifference" in the new HUD for Player's "Damage/Healing" bursts. // [177] Shows "ArmorDiffRatio" in the new HUD for Player's "Damage/Healing" bursts. // [178] Shows "NewArmorValue" in the new HUD for the Player's "Damage/Healing" bursts. // [179] Shows "You Died" animation after dying... :V // [180] is for level up dialogue timer // [181] Tension Level // [182] Tension Level Compare // [183] Tension Timer // [184] Tension Timer Counts Down // [185] Tension Warmup Meter [you must hold down for this long for tension to go up a level] // [186] Tension Cooldown Timer [when Tension levels change, or run out, this decides how long to wait before you can do so again] // [187] Crit Display Timer // [188] Tension Max Cooldown Timer [for bar displays] // [189] Tension Sound Charge Loop Timer // [190] Active-Tension Pulse Timer // [191] Saves Minigun heat divisor // [192] Railgun Charge Level [%] // [193] Tension Speed Central Multiplier [CVAR] // [194] Mercy Invincibility "Flag" // [195] Mercy Invincibility Timer // [196] Mercy Invincibility 'Modulus/Remainder' // [197] Aeon Point Start Level (based on the menu option) // [198] Sceptre EXP Fragments [out of 100] - For twirling with the staff without hitting enemies to slowly increment exp. // [199] Very-First-Run // [200] Player's Jump Height // [201] Player's Balance [or Mass] - for various abilities that make it harder to toss a character around by increasing their mass // [202] # of Uncurse Points for when holding the Ruinous Shield - For Determining how many points is needed to turn the Ruinous Shield into the Divine Shield. // [203] Sceptre EXP Fragments [out of 16] - For whiffing with the staff without hitting enemies to slowly increment exp. // [204] # of Aeon Points gained during a level up [for displays] // [205] # of Agility Points gained during a level up [for displays] // [206] # of Defense Points gained during a level up [for displays] // [207] # of Deftness Points gained during a level up [for displays] // [208] # of Sorcery Points gained during a level up [for displays] // [209] # of Strength Points gained during a level up [for displays] // [210] # of Therapeusis Points gained during a level up [for displays] // [211] Current Value of Mana Regen Timer // [212] 'Focus' is in use? // [213] # of Backpacks [for death-exit checks] // [214] # of Medicinal Herbs [for death-exit checks] // [215] # of Strong Medicinal Herbs [for death-exit checks] // [216] # of Special Medicinal Herbs [for death-exit checks] // [217] # of Yggdrasil Dews [for death-exit checks] // [218] # of Paxa Punches [for death-exit checks] // [219] # of Lesser Vimstones [for death-exit checks] // [220] # of Greater Vimstones [for death-exit checks] // [221] # of Mercury Bandanas [for death-exit checks] // [222] # of TOTAL Max HP gained during multiple level ups [for displays] // [223] # of TOTAL Max MP gained during multiple level ups [for displays] // [224] # of TOTAL Aeon Points gained during multiple level ups [for displays] // [225] # of TOTAL Agility Points gained during multiple level ups [for displays] // [226] # of TOTAL Defense Points gained during multiple level ups [for displays] // [227] # of TOTAL Deftness Points gained during multiple level ups [for displays] // [228] # of TOTAL Sorcery Points gained during multiple level ups [for displays] // [229] # of TOTAL Strength Points gained during multiple level ups [for displays] // [230] # of TOTAL Therapeusis Points gained during multiple level ups [for displays] // [231] Focus Timer // [232] [*HUD usage*] Full Survival Amount # [before being rounded down to a whole number] // [233] [*HUD usage*] Full Armor Absorbsion # [before being rounded down to a whole number] // [234] heal value to store for heal messages // [235] [*HUD usage*] Critical Hit Rate % // [236] Shows "ManaDifference" in the new HUD for Player's "Damage/Healing" bursts. // [237] Shows "ManaDiffRatio" in the new HUD for Player's "Damage/Healing" bursts. // [238] Shows "NewManaValue" in the new HUD for the Player's "Damage/Healing" bursts. // [241] Shows "LastHealthValue" in the new HUD for the Player's "Damage/Healing" bursts. // [242] Shows "LastArmorValue" in the new HUD for the Player's "Damage/Healing" bursts. // [243] Shows "LastManaValue" in the new HUD for the Player's "Damage/Healing" bursts. // [244] [*HUD usage*] Checks for if the player can use the Sceptre's Spin Attack // [245 - 247] are undefined // [248] Blind Duration Timer [time elasped, NOT remaining, for making characters give off reaction sounds when Blinded] // [249] Sleep Duration Timer [time elasped, NOT remaining, for making characters give off reaction sounds when Sleep'd] // [250] Tension Duration Timer // [251] Tension OverPsyche Timer [Current] // [252] stored GoldWandAmmo [for Flora for Forced Pistol Restarts] // [253] stored CrossbowAmmo [for Flora for Forced Pistol Restarts] // [254] stored BlasterAmmo [for Flora for Forced Pistol Restarts] // [255] stored SkullRodAmmo [for Flora for Forced Pistol Restarts] // [256] stored PhoenixRodAmmo [for Flora for Forced Pistol Restarts] // [257] stored MaceAmmo [for Flora for Forced Pistol Restarts] // [258] # of Miracle Potions [for death-exit checks] // [259] **Playing DeathKings? // [260] is truehealvalue // [261] Tension OverPsyche Timer [Max] // [262] [*HUD usage*] Tension Duration Timer [Max] // [263] saves armor bits #2 [any character] // [264] save weapon bits #2 [any character] // [265] saves armor bits #3 [any character] // [266] save weapon bits #3 [any character] // [267] is the Current Mode for the Hades Elemental's Soul // [268] is the Current Mode for the Hades Overlord's Soul // [269] Global Value to hold the maximum Uncurse Pts needed. // [270] Seal/Silence Duration Timer [time elasped, NOT remaining, for making characters give off reaction sounds when Silenced] // [271] Saves player's XVel when using the menus // [272] Saves player's YVel when using the menus // [273] Saves player's ZVel when using the menus // [274] Checks for if the player can use the Sceptre's Overhead Smash Attack [for future versions] // [275] is storage for the tic add for MP Regen Bonus/Penalty from a spell cast // [276] is lowest accumulation for MP Regen Penalty Time from a spell cast // [277 to 279] are undefined so far :P // [280] is storage for Base Perk Cost Multiplier [Menu CVar] // [281] Minor Healing [Min] Value // [282] Minor Healing [Max] Value // [283] Healing [Min] Value // [284] Healing [Max] Value // [285] Major Healing [Min] Value // [286] Major Healing [Max] Value // [287] # of Magic Waters [for death-exit checks] // [288] # of Sage Elixirs [for death-exit checks] // [289] # of Elfin Elixirs [for death-exit checks] // [290] # of Monster Munchies' [for death-exit checks] // [291 to 297] are undefined so far :P // [298] Initial Max HP [for Strife mode to help calculate extra Sigil damage] // [299] Checks Ascendant Entity Kill Count // [300] is Hell Warrior Shield Level // [301] Total Sceptre EXP Required for Level 1 // [302] Total Sceptre EXP Required for Level 2 // [303] Total Sceptre EXP Required for Level 3 // [304] Total Sceptre EXP Required for Level 4 // [305] Total Sceptre EXP Required for Level 5 // [306] Total Sceptre EXP Required for Level 6 // [307] Total Sceptre EXP Required for Level 7 // [308] Total Sceptre EXP Required for Level 8 // [309] Total Sceptre EXP Required for Level 9 // [310] Total Sceptre EXP Required for Level 10 // [311] Total Sceptre EXP Required for Level 11 // [312] Total Sceptre EXP Required for Level 12 // [313] Total Sceptre EXP Required for Level 13 // [314] Total Sceptre EXP Required for Level 14 // [315] Total Sceptre EXP Required for Level 15 // [316] Total Sceptre EXP Required for Level 16 // [317] [STRIFE-Compatibility] Times "Stamina Upgraded" // [318] [STRIFE-Compatibility] Times "Accuracy Upgraded" // [319 to 320] are undefined so far :P // [321] Minor Healing [Min] Stamina Value // [322] Minor Healing [Max] Stamina Value // [323] Minor Healing [Cap] Stamina Value // [324] Healing [Min] Stamina Value // [325] Healing [Max] Stamina Value // [326] Healing [Cap] Stamina Value // [327] Major Healing [Min] Stamina Value // [328] Major Healing [Max] Stamina Value // [329] Major Healing [Cap] Stamina Value // [330 to 396] are undefined so far :P // [397] Value for SceptreShieldLevel [for speed/movement calculations when using Sceptre's Shield] // [398] Value for BowLevel [for speed/movement calculations when drawing/priming Diaris Longbow] // [399 to 400] are undefined so far :P // [401] # of RockBomb Shards [for death-exit checks] // [402 to 410] are undefined so far :P // [411] [*HUD usage*] Check for Slot 1 Weapons // [412] [*HUD usage*] Check for Slot 2 Weapons // [413] [*HUD usage*] Check for Slot 3 Weapons // [414] [*HUD usage*] Check for Slot 4 Weapons // [415] [*HUD usage*] Check for Slot 5 Weapons // [416] [*HUD usage*] Check for Slot 6 Weapons // [417] [*HUD usage*] Check for Slot 7 Weapons // [418] [*HUD usage*] Check for Slot 8 Weapons // [419] [*HUD usage*] Check for Slot 9 Weapons // [420] [*HUD usage*] Check for Slot 0 Weapons // [421 to 444] are undefined so far :P // [445] ticresetinterval // [446] ticresetinterval2 // [447] ticresetinterval3 // [448] is Curse Transperancy Timer [for Portraits] // [449] is Curse Outline Timer [for Portraits] // [450] is Curse Overlay Timer [for Portraits] // [451] is Poison Overlay Timer [for Portraits] // [452] is Poison Alpha Timer [for Portraits] // [453] is Tension Fire Timer [for Portraits] // [454] is Tension Glow Portrait Timer [for Portraits] // [455] is Berserk Vein Timer [for Portraits] // [456] is Divine Avatar Glow Timer [for Portraits] // [457] is Spread Aura Pulse Timer [for Portraits] // [458] is Blindness Timer [for Portraits] // [459 to 554] are undefined so far :P // [555] Gets spell cost into a global array [if needed to give it back for a failed summon/etc :V] // [556 to 630] are undefined so far :P // [631] is for the number of Seeds of Agility carried by your character [Speed/Jumping Strength] [for resetting stats] // [632] is for the number of Seeds of Defense carried by your character [Overall Defense] [for resetting stats] // [633] is for the number of Seeds of Deftness carried by your character [EXP Gains] [for resetting stats] // [634] is for the number of Seeds of Sorcery carried by your character [Magic Damage] [for resetting stats] // [635] is for the number of Seeds of Strength carried by your character [Overall Damage] [for resetting stats] // [636] is for the number of Seeds of Therapeusis carried by your character [Magic Defense] [for resetting stats] // [637] is dashcooldown // [638] is dashstamina // [639] is candash // [640 to 999] are undefined so far :P // [1000] is Number of Maps Visited // [1001 to 1998] are undefined so far :P // [1501] Misc Var #1 // [1502] Misc Var #2 // [1503] Misc Var #3 // [1504] Misc Var #4 // [1505] Misc Var #5 // [1506] Misc Var #6 // [1507] Misc Var #7 // [1508] Misc Var #8 // [1509] Misc Var #9 // [1510] Misc Var #10 // [1511 - 1999] are undefined // [2000] HUD mod toggle >.> // [2001] HUD X Size // [2002] HUD Y Size // [2003] HP "Critical" Glow Timer // [2004] MP "Focus" Glow Timer // [2005] HLCR "Overheat" Glow Timer // [2006] STAM "Focus Drain" Glow Timer // [2007] STAM "Tension Drain" Glow Timer // [2008] Tension Cooldown Glow Timer // [2009] Tension Level Glow Timer // [2010] "Can't Use Spell" Glow Timer // [2011] QuickSpell Slot 1's "Can't Use Spell" Glow Timer // [2012] QuickSpell Slot 2's "Can't Use Spell" Glow Timer // [2013] QuickSpell Slot 3's "Can't Use Spell" Glow Timer // [2014] QuickSpell Slot 4's "Can't Use Spell" Glow Timer // [2015] QuickSpell Slot 5's "Can't Use Spell" Glow Timer // [2016] QuickSpell Slot 6's "Can't Use Spell" Glow Timer // [2017] QuickSpell Slot 7's "Can't Use Spell" Glow Timer // [2018] QuickSpell Slot 8's "Can't Use Spell" Glow Timer // [2019] QuickSpell Slot 9's "Can't Use Spell" Glow Timer // [2020] QuickSpell Slot (1)0's "Can't Use Spell" Glow Timer // [2021] Kill Meter's Glow Timer // [2022] Used to indicate if a specific type of "OVERKILL" has occured [for the new hud] // [2023] Used for the "OVERKILL" display timer // [2024] Shows total EXP for current kill // [2025] Shows EXP gained only from the combo for current kill // [2026] EXP Gain Display Timer [new HUD] // [2027] Current BOSS Meter TID in use // [2031] MaxHP Gains Timer // [2032] MaxMP Gains Timer // [2033] AeonPts Gains Timer // [2034] Strength Gains Timer // [2035] Defense Gains Timer // [2036] Sorcery Gains Timer // [2037] Therapeusis Gains Timer // [2038] Agility Gains Timer // [2039] Deftness Gains Timer // [2040] Buff/Debuff Message #1 Timer // [2041] Buff/Debuff Message #2 Timer // [2042] Buff/Debuff Message #3 Timer // [2043] Buff/Debuff Message #4 Timer // [2044] Buff/Debuff Message #5 Timer // [2045] Buff/Debuff Message #1 TYPE // [2046] Buff/Debuff Message #2 TYPE // [2047] Buff/Debuff Message #3 TYPE // [2048] Buff/Debuff Message #4 TYPE // [2049] Buff/Debuff Message #5 TYPE // [2050] is Kick Tester // [2051] Tension OverPsyche Glow Timer // [2052] HP Regen Bonus/Penalty Glow // [2053] MP Regen Bonus/Penalty Glow // [2054] Stamina Regen Bonus/Penalty Glow // [2055] Hellcore Cooldown Bonus/Penalty Glow // [2056] HP "Poisoned" Glow Timer // [2057 to 2091] Buff/Debuff Icon/Timer Alpha Timers // [2092 to 2501] are undefined so far :P // [2502] Unfreeze Player // [2601 - 2614] Armor Item Drop Checkers #1-#14 // [2989 - 3059] Spell Cost Tables // [2989] Selected Spell's Cost // ***[5001-5500] Are likely reserved for Petra-specific vars*** // [5001] Arcana Points [Petra] // ***[5501-6000] Are likely reserved for Ailish-specific vars*** // [5501] Spirit Strike Points [Ailish] // ***[7001-8000] Ammo and Inventory Limits*** // [7001] Medicinal Herbs // [7002] Strong Medicinal Herbs // [7003] Special Medicinal Herbs // [7004] Magic Waters // [7005] Sage Elixirs // [7006] Elfin Elixirs // [7007] Yggdrasil Dews // [7008] Miracle Potions // [7009] Rockbomb Shards // [7010] Paxa Punches // [7011] Mercury Bandanas // [7012] Monster Munchies // [7013] Lesser Vimstones // [7014] Greater Vimstones // [7050-7100] are unused // [7101] Quartz Flasks [Heretic] // [7102] Mystic Urns [Heretic] // [7103] Chaos Devices [Heretic] // [7104] Morph Ovums [Heretic] // [7105] Shadowspheres [Heretic] // [7106] Rings of Invulnerability [Heretic] // [7106-7200] are unused // [7201] Quartz Flasks [Hexen] // [7202] Mystic Ambit Incants [Hexen] // [7203] Mystic Urns [Hexen] // [7204] Kraters of Might [Hexen] // [7205] Chaos Devices [Hexen] // [7206] Banishment Devices [Hexen] // [7207] Dark Servants [Hexen] // [7208] Porkulators [Hexen] // [7209] Icons of the Defender [Hexen] // [7210-7300] are unused // [7301] Medicial Patches [Strife] // [7302] Medicial Kits [Strife] // [7303] Surgery Kits [Strife] // [7304] Scanners [Strife] // [7305] Targetters [Strife] // [7306] Environmental Suits [Strife] // [7307] Shadow Armors [Strife] // [7308] Teleporter Beacons [Strife] // [7309] Degnin Ores [Strife] // [7310-7500] are unused // [7401 & 7501] Diaris Arrows [& max] // [7402 & 7502] Poison Needles [& max] // [7403 & 7503] Bullets [& max] // [7404 & 7504] Shells [& max] // [7405 & 7505] Rockets [& max] // [7406 & 7506] Cells [& max] // [7407-7410 & 7507-7510] are unused // [7411 & 7511] Wand Crystals [& max] // [7412 & 7512] Crossbow Bolts [& max] // [7413 & 7513] Claw Orbs [& max] // [7414 & 7514] Phoenix Orbs [& max] // [7415 & 7515] Hell Runes [& max] // [7416 & 7516] Mace Spheres [& max] // [7417-7420 & 7517-7520] are unused // [7421 & 7521] Electric Bolts [& max] // [7422 & 7522] Poison Bolts [& max] // [7423 & 7523] Rifle Bullets [& max] // [7424 & 7524] Mini Missiles [& max] // [7425 & 7525] Energy Pods [& max] // [7426 & 7526] HE Grenades [& max] // [7427 & 7527] Phosphorus Grenades [& max] // [7428-7430 & 7528-7530] are unused // [7431 & 7531] Blue Mana [& max] // [7432 & 7532] Green Mana [& max] // [7441 & 7541] KDIZD Rifle Rounds [& max] // [7442 & 7542] Popcorn [Circus 2] [& max] // [7443 & 7543] Gore Balloons [Circus 2] [& max] // [7444 & 7544] Clown Grenades [Circus 2] [& max] // [7445 & 7545] Clown Souls [Circus 2] [& max] // [7446 & 7546] Crazy Balls [Circus 2] [& max] // [7607-8000] are unused // ***[8001-9000] are related to codex and kill count*** // [10001] "LifeUp" Perk Level // [10002] "LifeUp EX" Perk Level // [10003] "MagiUp" Perk Level // [10004] "MagiUp EX" Perk Level // [10005] "StamUp" Perk Level // [10006] "StamUp EX" Perk Level // [10007] "DodgeMore" Perk Level // [10008] "DodgeMore EX" Perk Level // [10009] "JumpMore" Perk Level // [10010] "JumpMore EX" Perk Level // [10011] "PsycheFast" Perk Level // [10012] "PsycheFast EX" Perk Level // [10013] "RegenHPFast" Perk Level // [10014] "RegenHPFast EX" Perk Level // [10015] "RegenMPFast" Perk Level // [10016] "RegenMPFast EX" Perk Level // [10017] "RegenStamFast" Perk Level // [10018] "RegenStamFast EX" Perk Level // [10019] "Bullet Accuracy" Perk Level // [10020] "Bullet Accuracy EX" Perk Level // [10021] "Pellet Accuracy" Perk Level // [10022] "Pellet Accuracy EX" Perk Level // [10023] "Plasma Accuracy" Perk Level // [10024] "Plasma Accuracy EX" Perk Level // [10025] "Demolitions Expert" Perk Level // [10026] "Demolitions Expert EX" Perk Level // [10027] "Karasawa Attunement" Perk Level // [10028] "Karasawa Attunement EX" Perk Level // [10029] "BFG Attunement" Perk Level // [10030] "BFG Attunement EX" Perk Level // [10031] "Archery Mastery" Perk Level // [10032] "Archery Mastery EX" Perk Level // [10033] "Soul Mastery" Perk Level // [10034] "Soul Mastery EX" Perk Level // [10035] "Martial Arts Mastery" Perk Level // [10036] "Martial Arts Mastery EX" Perk Level // [10037] "Mortal Hit Survivability Psyche Up" Perk Level // [10038] "Mortal Hit Survivability Psyche Up EX" Perk Level // [10039] "Mortal Hit Survivability Mana Recovery" Perk Level // [10040] "Mortal Hit Survivability Mana Recovery EX" Perk Level // [10041] "Mortal Hit Survivability Blast Wave" Perk Level // [10042] "Mortal Hit Survivability Blast Wave EX" Perk Level // [10043] "Mortal Hit Survivability 'Death Rage'" Perk Level // [10044] "Mortal Hit Survivability 'Death Rage' EX" Perk Level // [10045] "On The Move" Perk Level // [10046] "On The Move EX" Perk Level // [10047] "Bottomless Magazines" Perk Level // [10048] "Bottomless Magazines EX" Perk Level // [10049] "Medical/Medicinal Prowess" Perk Level // [10050] "Powerup Powerhouse" Perk Level // [10051] "Berserker Fit" Perk Level // [10052] "Berserker Fit EX" Perk Level // [10053] "Wand/Staff Mastery" Perk Level // [10054] "Wand/Staff Mastery EX" Perk Level // [10055] "Cleared of Mind" Perk Level // [10056] "Cleared of Mind EX" Perk Level // [10057] "Villain Killer" Perk Level // [10058] "Villain Killer EX" Perk Level // [10059] "Pack Mule" Perk Level // [10060] "Pack Mule EX" Perk Level // [11001] "Higher Learning" Grand Mastery Perk Level // [25001] Player's Current Health // [25002] Player Death Fade Out On/Off // [25003] APROP_Waterlevel // [25004] RLMode // [25005] PRMode // [25006] UnmakerAmmoType // [25007] UnmakerUpgrades // [25008] EtherStock // [25009] MinigunHeat // [25010] RailgunCharge // [25011] FlameCount // [25012] DualFlameCount // [25013] FistPlayerBlockItem // [25014] InvulnerabilitySpell // [25015] Armor // [25016] ArmorBonusDSGreen // [25017] ArmorBonusDSBlue // [25018] ArmorBonusDSStone1 // [25019] ArmorBonusDSStone2 // [25020] ArmorBonusDSDiamond1 // [25021] ArmorBonusDSDiamond2 // [25022] DSNoArmorClass // [25023] DSGreenArmorClass // [25024] DSBlueArmorClass // [25025] DSStoneArmorClass1 // [25026] DSStoneArmorClass2 // [25027] DSDiamondArmorClass1 // [25028] DSDiamondArmorClass2 // [25029] RecallAlly // [25030] RecallAllAllies // [25031] Magnetize // [25032] Immune to Toxin Damage [DV2-M04/M05] // [25033] TryingToRepecAeonPtsPerks // [25034] TryingToRepecAeonPts // [25035] TryingToQuickUseVimstone // [25036] Give Foresight // [25037] "Armor" // [25038] GetSigilPieces // [25039] FloraLearnedPistols // [25040] IsInvulnerable // [25041] PrimingSceptre // [25042] DrawingDiarisBow // [25043] HWShieldBlockHold // [25044] PoisonNeedleAmmo // [25045] GodMode // [25046] GodMode2 // [25047] SigilModeType // [25101] Has "SauronHelmet" // [25102] Has "SauronGauntletsItem" // [25103] Has "TheOneRing" // [25104] Has "SafeTeaShoes" // [25105] Has "PearlyCorset" // [25106] Has "WaterFlyingDress" // [25107] Has "EvenstarNecklace" // [25108] Has "CloakofEvasion" // [25109] Has "AnubisCufflinks" // [25110] Has "KissaBra" // [25111] Has "DivineShield" // [25112] Has "RuinousShield" // [25113] Has "BalrogRing" // [25114] Has "DoveRibbon" // [25115] Has "FalconKnifeEarrings" // [25201] "inv_fail" // [25202] "debuffed" // [25203] "marines/armorbroken" // [25204] "marines/armordamaged" // [25205] "DraQue/gainperk" // [25206] Lesser Healing Snd // [25207] Healing Snd // [25208] Greater Healing Snd // [25209] Summon Snd // [25210] Divine Avatar Snd // [25211] FloraEnterHighTension1 // [25212] FloraEnterHighTension2 // [25213] FloraEnterHighTension3 // [25214] tensionrevert // [25301] TookCriticalHit [player] // [25302] Missed [player] // [25303] TookNoDamage [player] // [25304] TookNoDamageInvuln [player] // [25305] AbsorbedDamage [player] // [[100001]] dvdsdebug_showmeleeinformation // [[100005]] dvdsdebug_showstaminausestuff // [[100006]] dvdsdebug_showmiscdmginformation // [[100007]] dvdsdebug_accuracyspreadisplay // [[110001]] dvdsperks_active // [[110002]] dvds_allowtension // [[110004]] dvds_rnd_stealthlevel // [[110005]] dvds_canseedsappear // [[110006]] dvds_flora_ignorearmormadelevelcap // [[110007]] dvds_monstercrisisattacks // [[110008]] dvdsdebug_healitemdisplays // [[110009]] dvds_fke_effecttype global int 22:MenuSystemVars[]; // Goto "MENUKEY" for array list. global int 23:SpecialGameFlags[]; // ***ARRAY*** // [0 to 999] = DVII related story/game flags // [0] = Checks for DV2M01 armor item [Safe Tea Shoes] // [1] = Checks for DV2M02 armor item [Pearly Corset] // [2] = Checks for DV2M03 armor item [Water Flying Dress] // [3] = Checks for DV2M04 armor item [Evenstar Necklace] // [4] = Checks for DV2M05 armor item [Cloak of Evasion] // [5] = Checks for DV2M05S armor item [Falcon Knife Earrings] // [6] = Checks for DV2M06 armor item [Anubis Cufflinks] // [7] = Checks for DV2M07 armor item [Kissa's Brassire] // [8] = Checks for DV2M08 armor item [Ruinous Shield/Divine Shield] // [9] = Checks for DV2M09 armor item [Balrog Ring] // [10] = Checks for DV2M10 armor item [Dove's Ribbon] // [1000 to 1999] = DVI related story/game flags // [10000] = Checks for Sauravatar's activation [DVI] // [10001] = Final Health Value for the Sauravatar [DVI] // [10002] = Base Health Value for the Sauravatar [DVI] // [10003] = Sauravatar's "Moderate" Health Level (will use his Gold BFG attack when below this value) [DVI] // [10004] = Sauravatar's "Low" Health Level (will use his White BFG attack when below this value) [DVI] global int 26:MonstersAlive[]; // ***ARRAY*** Array to Replace "MonstersAliveMAPXX" vars. global int 27:MonstersKilled[]; // ***ARRAY*** Array to Replace "MonstersKilledMAPXX" vars. global int 28:SecretsFound[]; // ***ARRAY*** Array to Replace "SecretsFoundMAPXX" vars. global int 29:ItemsFound[]; global int 30:CurrentMaxArmor; // All Games - USED BY HUD global int 31:CurrentArmorClass; // All Games global int 33:CharacterClass; // All Games // 0 = Deggaris [Doom] // 1 = Illucia [Doom] // 2 = Flora [All] // 3 = Corvus [Heretic] // 4 = Baratus [Hexen] // 5 = Parias [Hexen] // 6 = Daedolon [Hexen] // 7 = StrifeGuy (Aka. the Mercenary) [Strife] // 8 = Ailish [All] // 9 = Petra [All] global int 34:ClassCheck; // All Games // New Vars for DVII-DS and the remade DVI-DS. :P global int 37:LevelCap; // Applies to all games, however Flora's the only character legally able to extend her level cap from 100 to 200. global int 38:SpellIDLimit; // Defines the total number of spells allowed for quick var references global int 41:TrueGameSkill; global int 45:PerkPtsPerPerk[]; // Uses the same values as the perks in MiscellaneousVars[] global int 46:ClassicDoomType; // 0 = Doom 2 // 1 = Doom 1 // 2 = Heretic // 3 = Hexen // 4 = Strife // 5 = Doom64 global int 50:GameScriptEvents[]; // ***ARRAY*** Array for Controlling in-game scripts and story events // [1401] = MAP04, Damage inflicted by Helltoxins in Minas Morgul // [1402] = MAP04, Damage timer for Helltoxins in Minas Morgul // [1403] = MAP04, Checks for the player having Iron Feet powerup or Flora's Safe Passage spells in effect to determine exposure to Hell-Toxins. // [1801] = MAP08, Spawns all AmbientSound Actors in places meant to be high off the ground. global int 51:SpiritStrikePoints; // Ailish specific points for Spirit Strike usage global int 54:SceptreLevelEXP; // For Determining the level of sceptre capabilities and allows it to grow stronger as it's used (Base level plus 16 more levels). -- USED BY HUD global int 55:SceptreActualLevel; // USED BY HUD global int 61:RuinousShieldPercentF; // USED BY HUD global int 62:RuinousShieldPercent; // USED BY HUD // 0 = Normal, 1 = Other int FirstRun, KillBonusApplied, ItemBonusApplied, SecretBonusApplied, CompletionBonusApplied; str PlayerWeapon; str FriendIDHeretic[15] = { "FHereticImp", "FHereticImpLeader", // 2 "FMummy", "FMummyLeader", "FMummyGhost", "FMummyLeaderGhost", // 4 "FKnight", "FKnightGhost", // 2 // Weak 0-7 [8] "FWizard", // 1 "FClink", // 1 "FBeast", // 1 "FSnake", // 1 // Normal 8-12 [4] "FIronLich", // 1 // Strong 13 [1] "FMaulotaur" // 1 // Cyber-class 14 [1] }; str FriendIDHexen[14] = { "FFireDemon", // 1 "FEttin", // 1 "FIceGuy", // 1 // Weak 0-2 [3] "FCentaur", // 1 "FWraith", // 1 "FBishop", // 1 "FStalker", // 1 "FEttinCommander", // 1 // Normal 3-7 [5] "FVampire", // 1 "FSlaughtaur", // 1 "FGreenChaosSerpent", "FBrownChaosSerpent", // 2 "FStalkerLeader", // 1 // Strong 8-12 [5] "FHeresiarch" // 1 // Cyber-class 13 [1] }; /* str FriendIDStrife[0] = { }; */ str FriendIDDoom[55] = { "FZombieman", "FPlasmaGuy", "FRocketLauncherGuy", "FRepeaterZombie", "FKarasawaGuy", // 5 "FShotgunGuy", "FSuperShotgunGuy", // 2 "FDoomImp", "FDarkImp", "FSTDarkImp", "FVoidDarkImp", // 4 "FDemon", "FBloodDemon", // 2 "FWolfensteinSS", "FChaingunDemon", // 2 "FLostSoul", "FHadesSphere", "FHSOverlord", // 3 // Weak 0-17 [18] "FHellCleric", // 1 "FSpectre", "FBloodSpectre", // 2 "FChaingunGuy", "FBFGGuy", "FChaingunSpectre", // 3 "FCacodemon", "FCacolantern", "FAbaddon", "FHadesElemental", // 4 "FHellKnight", "FBaronOfHell", // 2 // Moderate 18-29 [12] "FFlyingBalrog", // 1 "FBaronOfHell", "FBelphegor", "FBruiserDemon", "FCyBruiser", "FArchonOfHell", "FPyroDemon", // 6 "FHadesElemental", "FHadesOverlord", // 2 "FRevenant", "FDeathIncarnate", // 2 "FFatso", "FHectebus", "FDaedabus", // 3 "FArachnotron", "FRailArachnotron", "FArachnotronMK2", "FFusionArachnotron", // 3 "FHierophant", // 3 // Strong 30-48 [18] "FArchvile", "FDiabloist", // Vile 49-50 [2] "FCyberdemon", "FAnnihilator", // Cyberdemon 51-52 [2] "FSpiderMastermind", "FDemolisher" // Spider Mastermind 53-54 [2] }; //***************************************** //***Deggaris and Illucia's Spell Tables*** //***************************************** int SpellsLearned[101] = { 1, // +1 (Level 0) 3, 5, 6, 7, 8, // +2, +2, +2, +1, +1 (Levels 1-5) 9, 11, 12, 14, 15, // +1, +1, +2, +1, +2 (Levels 6-10) 18, 20, 22, 23, 24, // +1, +3, +2, +2, +1 (Levels 11-15) 26, 27, 29, 30, 33, // +1, +2, +1, +2, +1 (Levels 16-20) 37, 38, 39, 40, 44, // +3, +4, +1, +1, +1 (Levels 21-25) 46, 47, 48, 49, 51, // +4, +2, +1, +1, +1 (Levels 26-30) 54, 54, 54, 54, 54, // +2, +0, +0, +0, +0 (Levels 31-35) 54, 54, 54, 54, 54, // +0, +0, +0, +0, +0 (Levels 36-40) 54, 54, 54, 54, 54, // +0, +0, +0, +0, +0 (Levels 41-45) 54, 54, 54, 54, 54, // +0, +0, +0, +0, +0 (Levels 46-50) 54, 54, 54, 54, 54, // +0, +0, +0, +0, +0 (Levels 51-55) 55, 55, 55, 55, 55, // +1, +0, +0, +0, +0 (Levels 56-60) 55, 55, 55, 55, 55, // +0, +0, +0, +0, +0 (Levels 61-65) 55, 55, 55, 55, 55, // +0, +0, +0, +0, +0 (Levels 66-70) 55, 55, 55, 55, 55, // +0, +0, +0, +0, +0 (Levels 71-75) 55, 55, 55, 55, 55, // +1, +0, +0, +0, +0 (Levels 76-80) 55, 55, 55, 55, 55, // +0, +0, +0, +0, +0 (Levels 81-85) 55, 55, 55, 55, 55, // +0, +0, +0, +0, +0 (Levels 86-90) 55, 55, 55, 55, 55, // +0, +0, +0, +0, +0 (Levels 91-95) 55, 55, 55, 55, 55 // +0, +0, +0, +0, +0 (Levels 96-100) }; int SpellCastTypes[58] = { 0, 1, 2, 0, 3, 4,10, 0, 5, 0, 6, 0, 0, 0, 1, 7, 19, 0, 3, 0, 14, 2, 4, 0, 6, 7,10, 0,11, 1, 2, 0,12, 7, 13, 20, 3, 4, 0, 6, 11, 0, 0,10, 0, 9, 21, 0, 6, 0, 13,14,15,16, 6, 18,19,20}; int SpellCastStrength[58] = { 0, 2, 10, 1, 10, 10, 0, 2, 15, 3, 0, 4, 5, 6, 5, 0, 15, 18, 30, 7, 10, 30, 30, 9, 1, 1, 1, 10, 0, 10, 60, 11, 0, 2, 5, 15, 60, 60, 12, 2, 1, 13, 14, 2, 15, 15, 15, 16, 3, 17, 15, 30, 0, 30, 4, 30, 30, 30 }; str SpellCategory[4] = { "\cdOffense Magic\c-", //[0] (23) 0, 3, 6, 7, 9, 11, 12, 13, 15, 19, 20, 23, 25, 26, 27, 31, 33, 38, 41, 42, 43, 44, 49 "\cnRestorative Magic\c-", //[1] (5) 1, 14, 28, 29, 40 "\cfStatus Magic\c-", //[2] (20) 2, 4, 5, 8, 16, 17, 18, 21, 22, 30, 32, 34, 35, 36, 37, 45, 46, 50, 51, 53 "\ceConjure Magic\c-" //[3] (7) 10, 24, 39, 47, 48, 52, 54 }; str SpellTable[59] = { //[id] (deg?), (ill?), (flo?) "\cdMinor Magic Missile\c-", //[0] O, O, O [Offense] [Level 0] "\cnMinor Healing\c-", //[1] O, O, O [Restorative] [Level 0] "\cfMinor Night-Vision\c-", //[2] O, O, O [Status] [Level 1] "\cdChill Touch\c-", //[3] O, O, O [Offense] "\cfMinor Invisibility\c-", //[4] O, O, O [Status] "\cfMinor Flight\c-", //[5] O, O, O [Status] "\cdMinor Poison Cloud\c-", //[6] O, X, O [Offense] "\cdMinor Fireball\c-", //[7] O, O, O [Offense] "\cfEnhanced Strength\c-", //[8] O, O, O [Status] "\cdMinor Ice Blast\c-", //[9] O, O, O [Offense] "\ceSummon Weak Monster\c-", //[10] O, O, O [Conjure] "\cdMagic Missile\c-", //[11] O, O, O [Offense] "\cdFireball\c-", //[12] O, O, O [Offense] "\cdExplosive Glyph\c-", //[13] O, O, O [Offense] "\cnHealing\c-", //[14] O, O, O [Restorative] "\cdFireball Nova\c-", //[15] X, O, O [Offense] "\cfAttack Booster\c-", //[16] O, O, O [Status] "\cfMinor Raging Spirits\c-", //[17] O, O, O [Conjure] "\cfInvisibility\c-", //[18] O, O, O [Status] "\cdAcid Rain\c-", //[19] O, O, O [Offense] "\cdMinor Terrorization Aura\c-", //[20] O, X, O [Offense] "\cfNight-Vision\c-", //[21] O, O, O [Status] "\cfFlight\c-", //[22] O, O, O [Status] "\cdMajor Magic Missile\c-", //[23] X, O, O [Offense] "\ceSummon Monster\c-", //[24] O, O, O [Conjure] "\cdIcy Nova\c-", //[25] O, O, O [Offense] "\cdPoison Cloud\c-", //[26] O, X, O [Offense] "\cdMinor Lightning\c-", //[27] O, O, O [Offense] "\cnStone Skin\c-", //[28] O, O, X [Restorative] "\cnMajor Healing\c-", //[29] X, O, O [Restorative] "\cfMajor Night-Vision\c-", //[30] X, O, O [Status] "\cdIce Blast\c-", //[31] O, O, O [Offense] "\cfFarsight\c-", //[32] O, O, O [Status] "\cdLightning Nova\c-", //[33] X, O, O [Offense] "\cfMinor Time Freezer\c-", //[34] X, O, O [Status] "\cfDefense Booster\c-", //[35] O, O, O [Status] "\cfMajor Invisibility\c-", //[36] X, O, O [Status] "\cfMajor Flight\c-", //[37] X, O, O [Status] "\cdLightning\c-", //[38] O, O, O [Offense] "\ceSummon Strong Monster\c-", //[39] O, O, O [Conjure] "\cnDiamond Skin\c-", //[40] O, O, X [Restorative] "\cdMajor Fireball\c-", //[41] X, O, O [Offense] "\cdMajor Ice Blast\c-", //[42] X, O, O [Offense] "\cdMajor Poison Cloud\c-", //[43] O, X, O [Offense] "\cdMajor Lightning\c-", //[44] X, O, O [Offense] "\cfInvulnerability\c-", //[45] O, O, O [Status] "\cfSpeed Booster\c-", //[46] O, O, O [Status] "\ceRaging Spirits\c-", //[47] O, O, O [Conjure] "\ceSummon Arch-Vile\c-", //[48] X, O, O [Conjure] "\cdUltra Magic Missile\c-", //[49] X, X, O [Offense] "\cfTime Freezer\c-", //[50] X, O, O [Status] "\cfTerrorization Aura\c-", //[51] O, X, O [Status] "\ceCreate Lotso' Ammo\c-", //[52] O, O, X [Conjure] "\cfDivine Avatar\c-", //[53] O, O, O [Status] "\ceSummon Cyberdemon\c-", //[54] X, O, O [Conjure] "\cfSpreader Aura Lv. 2\c-", //[55] X, X, O [Status] "\cfOomph\c-", //[56] X, X, O [Status] "\cfBuff\c-", //[57] X, X, O [Status] "\cfDesperado Damsel\c-" //[58] X, X, X [Status] }; // 15, 20, 23, 29, 30, 33, 34, 36, 37, 41, 42, 44, 45, 46, 48, 49, 50, 54, 55, 56, 57, 58 = Deggaris Cannot use these Spell IDs in final version // 6, 26, 43, 49, 51, 55, 56, 57, 58 = Illucia Cannot use these Spell IDs in final version // 28, 40, 52, 58 = Flora Cannot use these Spell IDs in final version str SpellDesc[59] = { "Shoots an aetherbolt that does minimal damage", // Minor Magic Missile "Heals 2-4 health points up to ", // Minor Healing "See as if it were daylight for 10 seconds", // Minor Night Vision "Send a cold chill into whatever you touch", // Chill Touch "Become harder to see [and +1/3 Evasion] for 10 seconds", // Minor Invisibility "Leave the forces of gravity behind for 10 seconds", // Minor Flight "Creates a stationary cloud of poison", // Minor Poison Cloud "Shoots a fireball that does low damage", // Minor Fireball "Multiplies Melee damage by 10x for 15 seconds", // Enchanced Strength "Fires a few ice shards", // Minor Ice Blast "Summons a weak allied monster. 25% chance to spawn two.", // Summon Weak Monster "A more powerful magic missile", // Magic Missile "A medium-damage fireball", // Fireball "Creates a magical proximity mine.", // Explosive Glyph "Heals 4-9 health points up to ", // Healing "Creates a ring of fireballs", // Fireball Nova "Raises Attack and Critical Rate for 15 seconds", // Attack Booster "Summons two Holy spirits to tear apart your foes.", // Minor Raging Spirit "Become harder to see [and +1/3 Evasion] for 30 seconds", // Invisibility "Summons rain from the ceiling down upon your enemies", // Acid Rain "Makes enemies flee from you in terror for 10 seconds.", // Minor Terrorization Aura "Darkness will be no problem for 30 seconds", "Bend gravity to your will for 30 seconds", "A very powerful magic missile shot", // Major Magic Missile "Summons a moderately powerful ally. 25% chance to spawn two.", "Emits a ring of ice shards.", "A stationary poison cloud. This one has a larger radius", "Give your enemies a nasty shock with this spell", "Fortify yourself with 500 armor, 66% protection", "Heals 8-18 health points up to ", "Makes everything bright for a full minute", "Shoots several ice shards", "Allow you to see the entire map.", "A ring of lightning", "Freeze Time for 5 seconds, rendering all but you frozen.", "Increases Defense and Survivability for 15 Seconds", // Defense Booster "Become harder to see [and +1/3 Evasion] for a full minute", "Defy gravity for a full minute", "Shoots three lightning blasts", "Summons a powerful allied monster. 25% chance to spawn two.", "Fortify yourself with 1250 armor, 90% protection", // Diamond Skin "Shoot a highly damaging fireball", // Major Fireball "Fires lots of ice shards", // Major Ice Blast "Fill an entire small room with poison", // Major Poison Cloud "This shoots a shocking 5 lightning blasts", // Major Lightning "You cannot be damaged for 15 seconds", // Invulnerability "Boosts Movement Speed and Evasion for 15 seconds", // Speed Booster "Summon five Holy spirits to tear apart your foes.", // Raging Spirits "Summon an Archvile to turn slain foes to your side.", // Summon Archvile "The most powerful Magic Missile spell.", // Ultra Magic Missile "Freeze Time for 15 seconds, rendering all but you frozen.", // Time Freezer "Makes enemies flee from you in terror for 30 seconds.", // Terror Aura "Creates a lot of ammo for your weapons.", // Create Lotso Ammo "Grants you access to your fullest potential in combat!", // Divine Avatar "Summon a Cyberdemon to destroy your enemies.", // Summon Cyberdemon "Allows You to Create 6 Extra Copies of Most Attacks/Spells.", // Spreader Aura Lv. 2 "Doubles your damage output for a short time.", // Oomph "Cut Damage in Half and slightly increase survive rate.", // Buff "Temporary damage boost for A. Christina (non-enemy fire modes) and hitscan weaponry." // Desperado Damsel }; int SpellCosts[59] = { 1, // Minor Magic Missile 5, // Minor Healing 5, // Minor Night Vision 5, // Chill Touch 15, // Minor Invisibility 10, // Minor Flight 15, // Minor Poison Cloud 10, // Minor Fireball 50, // Enhanced Strength 15, // Minor Ice Blast 50, // Summon Weak Monster 20, // Magic Missile 20, // Fireball 30, // Explosive Glyph 15, // Healing 40, // Fireball Nova 125, // Attack Booster 75, // Minor Raging Spirits 75, // Invisibility 25, // Acid Rain 85, // Minor Terrorization Aura 40, // Night-Vision 75, // Flight 50, // Major Magic Missile 125, // Summon Monster 100, // Ice Nova 75, // Poison Cloud 75, // Minor Lightning 100, // Stone Skin 55, // Major Healing 100, // Major Night-Vision 50, // Ice Blast 150, // Farsight 150, // Lightning Nova 120, // Minor Time Freeze 125, // Defense Booster 150, // Major Invisibility 150, // Major Flight 125, // Lightning 220, // Summon Strong Monster 200, // Diamond Skin 50, // Major Fireball 75, // Major Ice Blast 130, // Major Poison Cloud 175, // Major Lightning 200, // Invulnerability 125, // Speed Booster 150, // Raging Spirits 250, // Summon Archvile 160, // Ultra Magic Missile 325, // Time Freezer 225, // Terror Aura 300, // Create Lotso Ammo 0, // Divine Avatar [value doesn't matter since it auto-calculates based on max MP] 500, // Summon Cyberdemon 1025, // Spreader Aura Lv. 2 80, // Oomph 30, // Buff 80 // Desperato Damsel }; //*********************************** //***Flora's Spell Table [DVII-DS]*** //*********************************** /* //*********************************************************** // GuideList of Numbers for Flora's Spells [Doomspell-Style]* //*********************************************************** // TODO later :P 1. Minor Magic Missile (2) 2. Minor Farsight (4) 3. Summon Imp (6) 4. Minor Flight (7) 5. Minor Polymorphosis (9) 6. Magic Missile (10) 7. Summon Pinky (11) 8. Attack Booster (13) 9. Farsight (14) 10. Enhanced Strength (15) 11. Summon Cacodemon (16) 12. Major Magic Missile (17) 13. Minor Raging Spirits (18) 14. Flight (19) 15. Spiritual Exoskin (20) 16. Minor Revenger (22) 17. Summon Hell Noble (23) 18. Major Farsight (24) 19. Minor Charm (24) 20. Minor Time Freezer (26) 21. Defense Booster (28) 22. Summon Archvile (29) 23. Ultra Magic Missile (30) 24. Polymorphosis (30) 25. Major Flight (32) 26. Summon Cyberdemon (36) 27. Speed Booster (37) 28. Invulnerability (39) 29. Greater Spiritual Exoskin (40) 30. Charm (42) 31. Revenger (43) 32. Aura of Anubis (45) 33. Create Ammo (48) 34. Spreader Aura Lv. 2 (56) 35. Major Polymorphosis (62) 36. Dyspersion (64) 37. Major Charm (66) 38. Divine Avatar (69) 39. Light Haze Smite (77) 40. Major Revenger (84) 41. Perfected Spiritual Exoskin (92) 42. Shielding of the Larries (132) //************************************************************* // GuideList of Numbers for Flora's Spells [DragonQuest-Style]* //************************************************************* // TODO later :P 1. MidHeal (1) 2. Appraise (3) 3. KaBuff (11) 4. Dazzle (12) 5. Oomph (13) 6. Snooze (14) 7. Safe Passage (15) 8. Sizzle (16) 9. Tick-Tock (17) 10. Bounce (18) 11. Frizzle (20) 12. Crackle (21) 13. Kasap (22) 14. Thwack (23) 15. KaDazzle (25) 16. Zap (25) 17. Insulatle (26) 18. KaSizzle (27) 19. HighHeal (31) 20. KaFrizzle (33) 21. Tickety-Tockety (34) 22. Kazap (35) 23. KaClang (36) 24. KaBoom (37) 25. AbsMagic (41) 26. Crackle (45) 27. StopSpell (48) 28. MegaHeal (52) 29. DeMagic (63) 30. Kaboomle (66) 31. ? 32. ? 33. ? // 43 Doomspell-Style Spells int FloraSpellsLearnedDoomspell[201] = { // Add Here Later 0, // Level 0 0, 1, 1, 2, 2, // Levels 1-5 3, 4, 4, 5, 6, // Levels 6-10 7, 7, 8, 9, 10, // Levels 11-15 11, 12, 13, 14, 15, // Levels 16-20 15, 16, 17, 19, 19, // Levels 21-25 20, 20, 21, 22, 24, // Levels 26-30 24, 25, 25, 25, 25, // Levels 31-35 26, 27, 27, 28, 29, // Levels 36-40 29, 30, 31, 31, 32, // Levels 41-45 32, 32, 33, 33, 33, // Levels 46-50 33, 33, 33, 33, 33, // Levels 51-55 34, 34, 34, 34, 34, // Levels 56-60 34, 35, 35, 36, 36, // Levels 61-65 37, 37, 37, 38, 38, // Levels 66-70 38, 38, 38, 38, 38, // Levels 71-75 38, 39, 39, 39, 39, // Levels 76-80 39, 39, 39, 40, 40, // Levels 81-85 40, 40, 40, 40, 40, // Levels 86-90 40, 41, 41, 41, 41, // Levels 91-95 41, 41, 41, 41, 41, // Levels 96-100 }; // 33 DragonQuest-Style Spells int FloraSpellsLearnedDQ5Style[201] = { // Add Here Later 0, // Level 0 1, 1, 2, 2, 2, // Levels 1-5 2, 2, 2, 2, 2, // Levels 6-10 3, 4, 5, 6, 7, // Levels 11-15 8, 9, 10, 10, 11, // Levels 16-20 12, 13, 14, 14, 16, // Levels 21-25 17, 18, 18, 18, 18, // Levels 26-30 19, 19, 20, 21, 22, // Levels 31-35 23, 24, 24, 24, 24, // Levels 36-40 25, 25, 25, 25, 26, // Levels 41-45 26, 26, 27, 27, 27, // Levels 46-50 27, 28, 28, 28, 28, // Levels 51-55 28, 28, 28, 28, 28, // Levels 56-60 28, 28, 29, 29, 29, // Levels 61-65 30, 30, 30, 30, 30, // Levels 66-70 30, 30, 30, 30, 30, // Levels 71-75 30, 30, 30, 30, 30, // Levels 76-80 30, 30, 30, 30, 30, // Levels 81-85 30, 30, 30, 30, 30, // Levels 86-90 30, 30, 30, 30, 30, // Levels 91-95 30, 30, 30, 30, 30, // Levels 96-100 }; // Doomspell-Style Types int FloraSpellCastTypesDS[43] = { // Add Here Later }; // DragonQuest-Style Types int FloraSpellCastTypesDQ[33] = { // Add Here Later }; // Doomspell-Style Types int FloraSpellCastStrengthDS[43] = { // Add Here Later }; // DragonQuest-Style Types int FloraSpellCastStrengthDQ[33] = { // Add Here Later }; // Doomspell-Style Names str FloraSpellNameTableDS[43] = { // Add Here Later }; // DragonQuest-Style Names str FloraSpellNameTableDQ[33] = { // Add Here Later }; // Doomspell-Style Descriptions str FloraSpellDescDS[43] = { // Add Here Later }; // DragonQuest-Style Descriptions str FloraSpellDescDQ[33] = { // Add Here Later }; // Doomspell-Style Spell Costs [Exact Values, not %ages] int FloraSpellCostsDS[43] = { // Add Here Later }; // Doomspell-Style Spell Costs [Usually in %ages, not exact values] int FloraSpellCostsDQ[33] = { 0, // No Spell 5, 3, 6, 4, 6, // 1-5 3, 2, 6, 4, 4, // 6-10 }; */ //***TO BE ADDED IN THE FUTURE*** //********************* //********************* //******FUNCTIONS****** //********************* //********************* // SetActorPositionForced function bool SetActorPositionForced(int tid, int x, int y, int z, bool fog) { Warp(tid, x, y, z, 0, WARPF_MOVEPTR|WARPF_ABSOLUTEPOSITION|WARPF_NOCHECKPOSITION); if (fog) SpawnForced("TeleportFog", x, y, z); return true; } function int CalcXHUDPos2 (int base, int direction, int width, int defaultwidth) { int result = base; if (direction == -1) result -= (width - defaultwidth); if (direction == 1) result += (width - defaultwidth); return result; } function int CalcYHUDPos2 (int base, int direction, int height, int defaultheight) { int result = base; if (direction == -1) result -= (height - defaultheight); if (direction == 1) result += (height - defaultheight); return result; } function int CalcXHUDPos (int base, int multiplier, int divisor) { int result; if (multiplier == 0) { multiplier = 1440; } if (divisor == 0) { divisor = 1440; } result = (base * multiplier / divisor) * 1.0; return result; //PrintBold(s:"Value: ",f:result,s:" [",d:base,s:"]"); } function int CalcYHUDPos (int base, int multiplier, int divisor) { int result; if (multiplier == 0) multiplier = 1080; if (divisor == 0) divisor = 1080; result = (base * multiplier / divisor) * 1.0; return result; //PrintBold(s:"Value: ",f:result,s:" [",d:base,s:"]"); } function int SetInventory (str item, int count) { int n = count - CheckInventory (item); if (n > 0) GiveInventory (item, n); else if (n < 0) TakeInventory (item, -n); return n; } function int SetActorInventory (int tid, str item, int count) { int n = count - CheckActorInventory (tid, item); if (n > 0) GiveActorInventory (tid, item, n); else if (n < 0) TakeActorInventory (tid, item, -n); return n; } // This function will place text or a sprite (depending on parameters passed) at the onscreen position of an actor with the specified tid, as long as it's in range (fixed mapunits). function void hudmessageonactor(int tid, int range, str sprite, str text) { int dist, ang, vang, pitch, x, y; int HUDX = 640; int HUDY = 400; int offset = 0; if (sprite != NULLSTR) { setfont(sprite); text = "A"; offset = 0.1; } sethudsize(HUDX, HUDY, 1); x = getactorx(tid) - getactorx(0); y = getactory(tid) - getactory(0); vang = vectorangle(x,y); ang = (vang - GetActorAngle(0) + 1.0) % 1.0; if (((vang+0.125)%0.5) > 0.25) dist = fixeddiv(y, sin(vang)); else dist = fixeddiv(x, cos(vang)); if ((ang < 0.2 || ang > 0.8) && dist < range) { pitch = vectorangle(dist, getactorz(tid) - (getactorz(0) + 41.0)); pitch = (pitch + GetActorPitch(0) + 1.0) % 1.0; x = HUDX/2 - ((HUDX/2) * sin(ang) / cos(ang)); y = HUDY/2 - ((HUDX/2) * sin(pitch) / cos(pitch)); hudmessage(s:text; 0, 1, CR_UNTRANSLATED, (x<<16)+offset, (y<<16)+offset, 0); } else hudmessage(s:" "; 0, 1, CR_UNTRANSLATED, 0, 0, 0); } //******************* //******************* //******SCRIPTS****** //******************* //******************* // GRAND Initialization Script script "INITIALIZER" OPEN { if (MiscellaneousVars[199] == 0) // Only on the very first tic of a new game, and never on loading of new maps past the first map. { MiscellaneousVars[1000] -= 1; TrueGameSkill = GetCVar("dvds_gendifficultycurve") + GameSkill(); if (TrueGameSkill < 0) TrueGameSkill = 0; if (TrueGameSkill > 8) TrueGameSkill = 8; if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1200) { ModType = 2; } // DVII-DS "MAP00" (Set To Deus Vult II) else if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1100) { ModType = 1; } // DVI-DS "MAP00" // Set To Deus Vult I else if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1039) { ModType = 0; ClassicDoomType = 6; } // "MAPP0" // Set To PSXDoom Mode else if (GetLevelInfo(LEVELINFO_LEVELNUM) >= 1036 && GetLevelInfo(LEVELINFO_LEVELNUM) <= 1038) { ModType = 0; ClassicDoomType = 5; } // "MAPD6"/"MAPD7"/"MAPD8" // Set To Doom64 Mode else if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1030) { ModType = 0; ClassicDoomType = 4; } // "MAPAA" // Set To Strife Mode else if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1021) { ModType = 0; ClassicDoomType = 3; MiscellaneousVars[259] = 1; } // "MAP0A" // Set To Hexen Mode [Deathkings Map] else if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1020) { ModType = 0; ClassicDoomType = 3; } // "MAP0A" // Set To Hexen Mode else if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1010) { ModType = 0; ClassicDoomType = 2; } // "E1MA" // Set To Heretic Mode else if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1000) { ModType = 0; ClassicDoomType = 1; } // "E1M0" // Set To Classic Doom 1 Mode else if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1050) { ModType = 0; ClassicDoomType = 0; } // "MAP00" // Set To Classic Doom 2 Mode else { ModType = 0; ClassicDoomType = 0; } // Set to Normal Doom 1/2 mode // PrintBold(d:ModType); LevelCap = 200; // KEEP AT THE MAXIMUM AMOUNT FOR LEVELS OVERALL [even if not all characters normally can reach said level] SpellIDLimit = 55; MaxHealthTrue = 100; // Sets to default Max of 100 to start MiscellaneousVars[21] = 10000; // Current Stamina Points MiscellaneousVars[22] = 10000; // Maximum Stamina Points MiscellaneousVars[7] = 25600; // Set this for the maximum range of the randomizer for Fygg drops. MiscellaneousVars[6] = random(1,MiscellaneousVars[7]); MiscellaneousVars[199] = 1; // Very-First-Run } MiscellaneousVars[1] += 1; MiscellaneousVars[113] = 0; // Resets Imp Claw Checker to 0 MiscellaneousVars[114] = 0; // Resets Dark Imp Claw Checker to 0 MiscellaneousVars[115] = 0; // Resets Cacodemon Eye Checker to 0 MiscellaneousVars[116] = 0; // Resets Cacolantern Eye Checker to 0 MiscellaneousVars[117] = 0; // Resets Abaddon Eye Checker to 0 MiscellaneousVars[118] = 0; // Resets Knight Fist Checker to 0 MiscellaneousVars[119] = 0; // Resets Baron Fist Checker to 0 MiscellaneousVars[120] = 0; // Resets Belphegor Fist Checker to 0 MiscellaneousVars[121] = 0; // Resets Bruiser Fist Checker to 0 MiscellaneousVars[122] = 0; // Resets Archon Fist Checker to 0 MiscellaneousVars[123] = 0; // Resets Pyro Fist Checker to 0 MiscellaneousVars[124] = 0; // Resets Incarnate Skull Checker to 0 MiscellaneousVars[125] = 0; // Resets Archvile Hand Checker to 0 MiscellaneousVars[126] = 0; // Resets Diabloist Checker to 0 MiscellaneousVars[127] = 0; // Resets Flying Balrog Checker to 0 MiscellaneousVars[128] = 0; // Resets Elemental's Soul Checker to 0 MiscellaneousVars[129] = 0; // Resets Overlord's Soul Checker to 0 // PrintBold(d:CurrentArmorClass); } function void PrintBuffMessage (int buffid) { /* if (MiscellaneousVars[2045] == 0) buffmsg1 = "\c[red]ATTACK INCREASED!!"; if (MiscellaneousVars[2045] == 1) buffmsg1 = "\c[olive]DEFENSE INCREASED!!"; if (MiscellaneousVars[2045] == 2) buffmsg1 = "\c[lightblue]SPEED INCREASED!!"; if (MiscellaneousVars[2045] == 10) buffmsg1 = "\c[red]ATTACK DECREASED!!"; if (MiscellaneousVars[2045] == 11) buffmsg1 = "\c[olive]DEFENSE DECREASED!!"; if (MiscellaneousVars[2045] == 12) buffmsg1 = "\c[lightblue]SPEED DECREASED!!"; if (MiscellaneousVars[2045] == 13) buffmsg1 = "\c[darkgreen]POISONED!!"; if (MiscellaneousVars[2045] == 14) buffmsg1 = "\c[purple]BLINDED!!"; if (MiscellaneousVars[2045] == 15) buffmsg1 = "\c[cream]ASLEEP!!"; if (MiscellaneousVars[2045] == 16) buffmsg1 = "\c[green]SPELLS SEALED!!"; if (MiscellaneousVars[2045] == 17) buffmsg1 = "\c[brick]YOU'RE EXHAUSTED!!"; */ if (buffid == 10) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 0; } // Oomph if (buffid == 11) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 1; } // Buff if (buffid == 12) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 2; } // Acceleratle if (buffid == 13) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 10; } // Blunt if (buffid == 14) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 11; } // Sap if (buffid == 15) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 12; } // Deceleratle if (buffid == 16) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 13; } // Poison if (buffid == 17) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 18; } // Corrosion if (buffid == 18) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 17; } // Fatigue if (buffid == 19) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 14; } // Blind if (buffid == 20) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 15; } // Sleep if (buffid == 21) { MiscellaneousVars[2040] = 70; MiscellaneousVars[2045] = 16; } // Silence } script "LevelCounter" ENTER { MiscellaneousVars[1000] += 1; } //***************** //***HUD Display*** //***************** script "HUDDISPLAY" ENTER { int debughud = GetCVar("dvdsdebug_huddisplays"); int debughud2 = GetCVar("dvdsdebug_huddisplays2"); str weapon = PlayerWeapon; if (debughud2 > 0) PrintBold(s:"[1810] debug1: ",s:weapon); int MaxHealthLimit = MaxHealthTrue * 2; int xpos; int ypos = 32.0; int msgdelay; int msgalpha; int MultiUpper, MultiLower; int ScreenXOffset; int ScreenYOffset; int tempvar1, tempvar2, tempvar3, tempvar4, tempvar5; int buttons = GetPlayerInput(0, INPUT_BUTTONS); int HUDGFXLevel = GetCVar("dvds_gfxeffectlevel"); int HUDMsgDelayBase = GetCVar("dvdshud_refreshdelay"); if (HUDMsgDelayBase < 1) HUDMsgDelayBase = 1; if (HUDMsgDelayBase > 420) HUDMsgDelayBase = 420; if (HUDGFXLevel == 0) HUDMsgDelayBase *= 1; else if (HUDGFXLevel == 1) HUDMsgDelayBase *= 3; else if (HUDGFXLevel == 2) HUDMsgDelayBase *= 9; int HUDMsgDelayFixed = HUDMsgDelayBase * 1.0; HUDMsgDelayFixed /= 35; HUDMsgDelayFixed += 0.008; int ExHUDMsgDelayFixed = 1 * 1.0; ExHUDMsgDelayFixed = GetCVar("dvdshud_display_extratics"); if (ExHUDMsgDelayFixed < 0) ExHUDMsgDelayFixed = 0; ExHUDMsgDelayFixed *= 0.02858; HUDMsgDelayFixed += ExHUDMsgDelayFixed; int overallhudalpha = GetCVar("dvdshud_generaltransperancy"); int EXPGainChecker = 1; if (ModType == 0 && GetCVar("dvds_expgains") == 0) EXPGainChecker = 0; // If in Classic mode and the EXP Gain option is turned off, don't show EXP stuff on HUD. str Keyname; int MaxEXPCombotimer; int MaxTensionChargeTimer; int TensionTimerMax = 3600; int CurrentValue, MaxValue; int WholeValue, ModuloValue; int HealthRatio; int MeterNotchOffset, ForEnd; int CostOfSpell; int VisibleNotchAmount, MaxNotchAmount; int HUDMsgIDAdd; int HUDMsgID; int NotchPos; int PowerUpCheckThing; if (GetCVar("screenblocks") < 12 && MenuSystemVars[0] == 0 && MiscellaneousVars[199] > 0 && MiscellaneousVars[2000] > 0 && MiscellaneousVars[25002] < 1 && GetCVar("dvdshud_showacshudelements") == 1) { if (ClassCheck > 1) //** NEW STYLE HUD HERE ** { /* // START NEW STYLE HUD MessageIDs used: [lower IDs mean closer (on top of higher numbers), higher IDs mean farther] 2001 - EXP Combo Meter Frame [Combos] 2002 - EXP Combo Meter Notches [Combos] 2003 - EXP Combo Meter Glass [Combos] 2004 - # of Kills [Combos] 2005 - "Kills" Label [Combos] 2006 - "OVERKILL" text [Combos] 2007 - EXP [from last kill] [Combos] 2008 - EXP Total + Combo Bonus [combo] 2009 - [Unused] 2010 - HP Gained during "LEVEL UP" [HP Info] 2011 - MP Gained during "LEVEL UP" [MP Info] 2012 - HP Label [HP Info] 2013 - MP Label [MP Info] 2014 - AP/HLCR Label [AP/HLCR Info] 2015 - Stamina Label [STAMINA Info] 2016 - LVL Label [LVL Info] 2017 - SV% Label [SV% Info] 2018 - AB% Label [AB% Info] 2019 - EV% Label [EV% Info] 2020 - EXP Label [EXP Info] 2021 - [unused] 2022 - [unused] 2023 - HP Amounts [HP Info] 2024 - HP Meter Border [HP Info] 2025 - HP Meter Frame [HP Info] 2026 - HP Meter Bonus/Penalty Glow [HP Info] 2027 - HP Meter "Overlife" Notches [HP Info] 2028 - HP Meter Notches [HP Info] 2029 - HP Meter Poison Frame 2030 - HP Meter Glass [HP Info] 2031 - [unused] 2032 - [unused] 2033 - MP Amounts [MP Info] 2034 - MP Meter "Focus" Border [MP Info] 2035 - MP Meter Border [MP Info] 2036 - MP Meter Bonus/Penalty Glow [MP Info] 2037 - MP Meter "Overmagic" Notches [MP Info] 2038 - MP Meter Notches [MP Info] 2039 - MP Meter Glass [MP Info] 2040 - [unused] 2041 - [unused] 2042 - [unused] 2043 - AP/HLCR Amounts [AP/HLCR Info] 2044 - AP "Armor Type" Meter Frame / HLCR "OverHeat" Meter Frame [AP/HLCR Info] 2045 - AP/HLCR Meter Frame [AP/HLCR Info] 2046 - HCLR Meter Bonus/Penalty Glow [HLCR Info] 2047 - AP Meter Notches / Hellcore "Overheat" Meter Notches [AP/HLCR Info] 2048 - Hellcore Meter Notches [AP/HLCR Info] 2049 - AP/HLCR Meter Glass [AP/HLCR Info] 2050 - [unused] 2051 - [unused] 2052 - [unused] 2053 - Stamina Amounts [STAMINA Info] 2054 - Stamina "Focus Charge" Meter Frame [STAMINA Info] 2055 - Stamina "Tension Charge" Meter Frame [STAMINA Info] 2056 - Stamina Meter Frame [STAMINA Info] 2057 - Stamina Meter Bonus/Penalty Glow [STAMINA Info] 2058 - Stamina Meter "OverStamina" Notches [STAMINA Info] 2059 - Stamina Meter Notches [STAMINA Info] 2060 - Stamina Meter Glass [STAMINA Info] 2061 - [unused] 2062 - [unused] 2063 - LVL Amounts [LVL Info] 2064 - LVL Meter Frame [LVL Info] 2065 - LVL Meter Notches [LVL Info] 2066 - LVL Meter Glass [LVL Info] 2067 - [unused] 2068 - [unused] 2069 - [unused] 2070 - [unused] 2071 - [unused] 2072 - [unused] 2073 - SV% Amounts [SV% Info] 2074 - SV% Meter Frame [SV% Info] 2075 - SV% Meter Notches [SV% Info] 2076 - SV% Meter Glass [SV% Info] 2077 - [unused] 2078 - [unused] 2079 - [unused] 2080 - [unused] 2081 - [unused] 2082 - [unused] 2083 - AB% Amounts [AB% Info] 2084 - AB% Meter Frame [AB% Info] 2085 - AB% Meter Notches [AB% Info] 2086 - AB% Meter Glass [AB% Info] 2087 - [unused] 2088 - [unused] 2089 - [unused] 2090 - [unused] 2091 - [unused] 2092 - [unused] 2093 - EV% Amounts [EV% Info] 2094 - EV% Meter Frame [EV% Info] 2095 - EV% Meter Notches [EV% Info] 2096 - EV% Meter Glass [EV% Info] 2097 - EXP Meter Border [EXP Info] 2098 - EXP Meter Ruler [EXP Info] 2099 - EXP Meter Notches [EXP Info] 2100 - EXP Meter Glass [EXP Info] 2101 - [unused] 2102 - [unused] 2103 - Tension-Charge Meter "Psyche" Border [Tension Charge/Timer] 2104 - Tension-Charge Meter Border [Tension Charge/Timer] 2105 - Tension-Charge Meter Notches [Tension Charge/Timer] 2106 - Tension-Timer Notches [Tension Charge/Timer] 2107 - Tension-Timer Glass [Tension Charge/Timer] 2108 - [unused] 2109 - [unused] 2110 - [unused] 2111 - [unused] 2112 - [unused] 2113 - Tension-Cooldown Meter "Max Cooldown" Border [Tension Cooldown] 2114 - Tension-Cooldown Meter Border [Tension Cooldown] 2115 - Tension-Cooldown Meter Notches [Tension Cooldown] 2116 - Tension Star Icon [Tension Star] 2117 - Tension Cooldown Meter Glass [Tension Cooldown] 2118 - Sauron Helmet Icon [Armor Icons] 2119 - Sauron Gauntlets Icon [Armor Icons] 2120 - One Ring Icon [Armor Icons] 2121-2133 - Flora-Specific Armor Icons [Armor Icons] 2134 - [unused] 2135 - [unused] 2136 - [unused] 2137 - [unused] 2138 - [unused] 2139 - [unused] 2140 - +user1 [Kick] Key Legend 2141 - "Aeon Points" Icon [Stat/AeonPts Icons/Values] 2142 - "Aeon Points" Value [Stat/AeonPts Icons/Values] 2143 - "Strength" Icon [Stat/AeonPts Icons/Values] 2144 - "Strength" Value [Stat/AeonPts Icons/Values] 2145 - "Defense" Icon [Stat/AeonPts Icons/Values] 2146 - "Defense" Value [Stat/AeonPts Icons/Values] 2147 - "Sorcery" Icon [Stat/AeonPts Icons/Values] 2148 - "Sorcery" Value [Stat/AeonPts Icons/Values] 2149 - "Therapeusis" Icon [Stat/AeonPts Icons/Values] 2150 - "Therapeusis" Value [Stat/AeonPts Icons/Values] 2151 - "Agility" Icon [Stat/AeonPts Icons/Values] 2152 - "Agility" Value [Stat/AeonPts Icons/Values] 2153 - "Deftness" Icon [Stat/AeonPts Icons/Values] 2154 - "Deftness" Value [Stat/AeonPts Icons/Values] 2155 - "Balance" Icon [Stat/AeonPts Icons/Values] 2156 - "Balance" Value [Stat/AeonPts Icons/Values] 2157 - "Jumping" Icon [Stat/AeonPts Icons/Values] 2158 - "Jumping" Value [Stat/AeonPts Icons/Values] 2159 - "Jumping" Value [Stat/AeonPts Icons/Values] 2161-2200 - Buff/Debuff Icons/Timers 2201 - Buff/Debuff Message #1 2202 - Buff/Debuff Message #2 2203 - Buff/Debuff Message #3 2204 - Buff/Debuff Message #4 2205 - Buff/Debuff Message #5 2206 - +user4 Key Legend 2207 - +altattack Key Legend 2208 - FlameCount Meter Border 2209 - FlameCount Meter Notches 2210 - FlameCount Meter Glass 2211 - Spin Attack Indicator Icon [Weapon/Ammo Display and Sceptre-EXP meter] 2212 - "AMMO" type label / Level Label and Amount [Hellcore] [Weapon/Ammo Display and Sceptre-EXP meter] 2213 - "AMMO" Amounts / Sceptre EXP [Weapon/Ammo Display and Sceptre-EXP meter] 2214 - "AMMO" Meter Empty "Glow" Border [Weapon/Ammo Display and Sceptre-EXP meter] 2215 - "AMMO" Meter / Sceptre EXP Meter Border [Weapon/Ammo Display and Sceptre-EXP meter] 2216 - "AMMO" Meter Notches / Sceptre Meter Notches [Weapon/Ammo Display and Sceptre-EXP meter] 2217 - "AMMO" Meter / Sceptre EXP Meter Glass [Weapon/Ammo Display and Sceptre-EXP meter] 2218 - +reload Key Legend 2219 - [unused] 2220 - [unused] 2221 - Weapon OverIcon #1 [Weapon/Ammo Display and Sceptre-EXP meter] 2222 - Weapon UnderIcon #1 [for Sigil outline for part amount display] 2223 - Tome of Power Spell Cost 1 [Heretic] 2224 - Tome of Power Spell Cost 2 [Heretic] 2225 - "HEAT"/"MP" type label / Level Label and Amount [Hellcore] [MinigunHeat/MP Display and meter 2] 2226 - "HEAT"/"MP" Amounts / Sceptre EXP [MinigunHeat/MP Display and meter 2] 2227 - "HEAT"/"MP" Meter Empty "Glow" Border [MinigunHeat/MP Display and meter 2] 2228 - "HEAT"/"MP" Meter / Sceptre EXP Meter Border [MinigunHeat/MP Display and meter 2] 2229 - "HEAT"/"MP" Meter Notches / Sceptre Meter Notches [MinigunHeat/MP Display and meter 2] 2230 - "HEAT"/"MP" Meter / Sceptre EXP Meter Glass [MinigunHeat/MP Display and meter 2] 2231-2241 - Weapon Slot Numbers 2242 - Hell Warrior Shield Level 2243-2250 - [unused] 2251-2256 - Air Meter 2257-2262 - Items Meter 2263-2268 - Secrets Meter 2269-2274 - Kills Meter 2275 - Tension-OverPsyche Meter "OverPsyched" Border [Tension-OverPsyche] 2276 - Tension-OverPsyche Meter Border [Tension-OverPsyche] 2277 - Tension-OverPsyche Meter Notches [Tension-OverPsyche] 2278 - Tension-OverPsyche Meter Glass [Tension-OverPsyche] 2279 - Level Up Icon 2280 - Dash Available Icon 2281-2320 - Character Portrait Pieces 2321-2330 - QuickSpell Text Costs [Quickspell] 2332-2342 - QuickSpell Bind Key Display [Quickspell] 2343-2353 - Not Enough Mana Icons [Quickspell] 2354-2364 - QuickSpell Icons [Quickspell] 2365 - QuickSpell Box Style [Quickspell] 2371 - Spell Cost [Spell Box] 2372 - Spell "<" Button [Spell Box] 2373 - Spell ">" Button [Spell Box] 2374 - Spell "Left" Button [Spell Box] 2375 - Spell "Right" Button [Spell Box] 2376 - Spell "Use" Button [Spell Box] 2377 - Icon Shown on Spell Box [Spell Box] 2378 - Current Spell Icon [Spell Box] 2379 - Spell Style Box [Spell Box] 2401 - Boss HP Label [Boss Lifemeter] 2402 - Boss HP Amounts [Boss Lifemeter] 2403 - Boss HP Meter Border [Boss Lifemeter] 2404-2405 - Boss Meter Notches [Boss Lifemeter] 2406 - Boss HP Meter Glass [Boss Lifemeter] 2407 - Boss Name [Boss Lifemeter] 2408 - Boss Portrait [Boss Lifemeter] // END NEW STYLE HUD */ int ShowKeyLegend = GetCVar("dvdshud_showkeylegend"); int HudPrimaryMeters = GetCVar("dvdshud_showprimarymeters"); int HudSecondaryMeters = GetCVar("dvdshud_showsecondarymeters"); int HudOverlifeNotches = GetCVar("dvdshud_showoverlifenotches"); int HudWeaponSlots = GetCVar("dvdshud_showweaponslots"); str fontname; int fontnum; msgdelay = 0.036; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); xpos = MiscellaneousVars[2001]; ypos = MiscellaneousVars[2002]; int NewHUDWidth = GetCVar("dvdshud_hudwidth"); // 1440 is the "default" int NewHUDHeight = GetCVar("dvdshud_hudheight"); // 1080 is the "default" int HUDDefaultWidth = 1440; int HUDDefaultHeight = 1080; int CenterHUDWidth = (NewHUDWidth / 2) * 1.0; int CenterHUDHeight = (NewHUDHeight / 2) * 1.0; int ScreenXOffsetInt = GetCVar("dvdshud_widescreenxoffset"); int ScreenYOffsetInt = GetCVar("dvdshud_widescreenyoffset"); SetHudSize(NewHUDWidth,NewHUDHeight,0); // Since 1920x1080 isn't truly "supported" [ZDOOM(TM(TM(TM))), etc] :V xpos = MiscFixedVars[1]; ypos = MiscFixedVars[2]; xpos = MiscFixedVars[3]; ypos = MiscFixedVars[4]; xpos = MiscFixedVars[5]; ypos = MiscFixedVars[6]; xpos = MiscFixedVars[7]; ypos = MiscFixedVars[8]; xpos = MiscFixedVars[9]; ypos = MiscFixedVars[10]; xpos = MiscFixedVars[11]; ypos = MiscFixedVars[12]; xpos = MiscFixedVars[13]; ypos = MiscFixedVars[14]; xpos = MiscFixedVars[15]; ypos = MiscFixedVars[16]; xpos = MiscFixedVars[17]; ypos = MiscFixedVars[18]; xpos = MiscFixedVars[19]; ypos = MiscFixedVars[20]; //*********************** //**General Positioning** //*********************** // Healing/Damage Bursts int PopUpXTemp = NewHUDWidth * GetCVar("dvdshud_pdmgfxratio") / 10000; int PopUpYTemp = NewHUDWidth * GetCVar("dvdshud_pdmgfyratio") / 10000; int PopUpXPlacement = random((-PopUpXTemp),(PopUpXTemp)); int PopUpYPlacement = random((-PopUpYTemp),(PopUpYTemp)); PopUpXPlacement *= 1.0; PopUpYPlacement *= 1.0; int PopupHoldDuration = 0.0; int PopupFadeOutDuration = 0.0; int xposmod = 0.0; int yposmod = 0.0; int nodmgcheck = 0; int MonsterCrit; int playerdmgflashes = GetCVar("dvdshud_playerdmgflashes"); int crittimer; // Damage Number Flashes if (Timer() > 3) { // Check to see if Player took a Critical Hit [not a CRISIS attack, those are different :V] if (MiscellaneousVars[25301] > 0) { MonsterCrit = 1; if (ClassicDoomType != 3) { MiscellaneousVars[25301] = 0; } else // If in Hexen, do this dumb hacky-method because the displays are refreshed a tic AFTER verses other game modes x.x { MiscellaneousVars[187] += 1; if (MiscellaneousVars[187] >= 2) { MiscellaneousVars[25301] = 0; MiscellaneousVars[187] = 0; } } if (GetCVar("dvdsdebug_playerdmgdisplays") > 0) PrintBold(s:"Monster Crit = ",d:MonsterCrit); } // Health PopupHoldDuration = 0.75 + ExHUDMsgDelayFixed; PopupFadeOutDuration = 0.5 + ExHUDMsgDelayFixed; xpos = CenterHUDWidth; ypos = CenterHUDHeight; msgalpha = 0.834; msgalpha = FixedMul(msgalpha,overallhudalpha); // [173] Shows "HealthDifference" in the new HUD for Player's "Damage/Healing" bursts. // [174] Shows "HealthDiffRatio" in the new HUD for Player's "Damage/Healing" bursts. // [175] Shows "NewHealthValue" in the new HUD for the Player's "Damage/Healing" bursts. // HP/Health Damage/Heal if (MiscellaneousVars[173] != 0) { if (MiscellaneousVars[173] > 0) // Positive Value [Healing] { if (MiscellaneousVars[174] < 5) { PopupHoldDuration += -0.375; PopupFadeOutDuration += -0.25; } if (MiscellaneousVars[175] >= MaxHealthLimit) { PopupHoldDuration += 0.75; PopupFadeOutDuration += 0.5; } SetFont("DQGDMNMED"); // DQHUDFONT yposmod = 0.0; // 9.0 if (playerdmgflashes) { if (playerdmgflashes > 1) { HudMessage(d:MiscellaneousVars[173],s:" (",d:MiscellaneousVars[174],s:"%)"; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_green,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } else { HudMessage(d:MiscellaneousVars[173]; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_green,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } SetFont("BBURHPHL"); yposmod = 0.0; // 1.0 if (playerdmgflashes) { HudMessage(s:"A";HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_untranslated,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } else if (MiscellaneousVars[173] < 0) // Negative Value [Damage] { MiscellaneousVars[173] *= -1; MiscellaneousVars[174] *= -1; if (MiscellaneousVars[174] < 5) { PopupHoldDuration += -0.375; PopupFadeOutDuration += -0.25; } if (MiscellaneousVars[175] <= 0) { PopupHoldDuration += 0.75; PopupFadeOutDuration += 0.5; } if (MonsterCrit != 0) { PopupHoldDuration *= 2; PopupFadeOutDuration *= 2; } SetFont("DQGDMNMED"); // DQHUDFONT yposmod = 0.0; // 9.0 if (playerdmgflashes) { if (playerdmgflashes > 1) { HudMessage(d:MiscellaneousVars[173],s:" (",d:MiscellaneousVars[174],s:"%)"; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_brick,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } else { HudMessage(d:MiscellaneousVars[173]; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_brick,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } // Damage/Heal Cloud/Bursts if (MiscellaneousVars[175] <= 0) // Death [for now] { SetFont("BBURHPCP"); xposmod = 20.0; // 20.0 [large] yposmod = 10.0; // 10.0 [large] } else // Damage w/o Death { if (MonsterCrit == 0) { SetFont("BBURHPDP"); xposmod = 2.0; // 0.0 yposmod = 0.0; // 1.0 if (GetCVar("dvdsdebug_playerdmgdisplays") > 0) PrintBold(s:"Health Dmg = ",f:xposmod,s:" ",f:yposmod,s:" MonsterCrit: ",d:MonsterCrit); } else { SetFont("BBURHPCT"); xposmod = 4.0; // 0.0 yposmod = 6.0; // 1.0 if (GetCVar("dvdsdebug_playerdmgdisplays") > 0) PrintBold(s:"Health Dmg = ",f:xposmod,s:" ",f:yposmod,s:" MonsterCrit: ",d:MonsterCrit); } } if (playerdmgflashes) { HudMessage(s:"A";HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_untranslated,xpos+xposmod+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } if (GetCVar("dvdsdebug_playerdmgdisplays") > 0) PrintBold(s:"Health Fade Duration = ",f:PopupHoldDuration,s:" ",f:PopupFadeOutDuration); } else { nodmgcheck = 0; if (MiscellaneousVars[25302] > 0) { MiscellaneousVars[25302] = 0; SetFont("BBURMIS3"); // BBURMISS nodmgcheck++; } if (MiscellaneousVars[25303] > 0) { MiscellaneousVars[25303] = 0; SetFont("BBURNDM2"); nodmgcheck++; } if (MiscellaneousVars[25304] > 0) { MiscellaneousVars[25304] = 0; SetFont("BBURINV2"); nodmgcheck++; } if (MiscellaneousVars[25305] > 0) { MiscellaneousVars[25305] = 0; SetFont("BBURASR2"); nodmgcheck++; } if (nodmgcheck > 0) { yposmod = 0.0; // 9.0 PopupHoldDuration += 0.375; PopupFadeOutDuration += 0.25; if (playerdmgflashes) { HudMessage(s:"A";HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_white,xpos+xposmod+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } } // Armor PopupHoldDuration = 0.75 + ExHUDMsgDelayFixed; PopupFadeOutDuration = 0.5 + ExHUDMsgDelayFixed; xpos = CenterHUDWidth - 48.0; ypos = CenterHUDHeight - 48.0; if (MiscellaneousVars[174] >= 30) { xpos -= 32.0; ypos -= 32.0; } msgalpha = 0.834; msgalpha = FixedMul(msgalpha,overallhudalpha); // [176] Shows "ArmorDifference" in the new HUD for Player's "Damage/Healing" bursts. // [177] Shows "ArmorDiffRatio" in the new HUD for Player's "Damage/Healing" bursts. // [178] Shows "NewArmorValue" in the new HUD for the Player's "Damage/Healing" bursts. // AP/Armor Damage/Heal if (MiscellaneousVars[176] != 0) { if (MiscellaneousVars[176] > 0) // Positive Value { if (MiscellaneousVars[177] < 5) { PopupHoldDuration += -0.375; PopupFadeOutDuration += -0.25; } if (MiscellaneousVars[178] >= CurrentMaxArmor) { PopupHoldDuration += 0.75; PopupFadeOutDuration += 0.5; } SetFont("DQGDMNMED"); // DQHUDFONT yposmod = 0.0; // 9.0 if (playerdmgflashes) { if (playerdmgflashes > 1) { HudMessage(d:MiscellaneousVars[176],s:" (",d:MiscellaneousVars[177],s:"%)"; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_gold,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } else { HudMessage(d:MiscellaneousVars[176]; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_gold,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } SetFont("BBURAPHL"); yposmod = 0.0; // 1.0 if (playerdmgflashes) { HudMessage(s:"A";HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_untranslated,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } else if (MiscellaneousVars[176] < 0) // Negative Value { MiscellaneousVars[176] *= -1; MiscellaneousVars[177] *= -1; if (MiscellaneousVars[177] < 5) { PopupHoldDuration += -0.375; PopupFadeOutDuration += -0.25; } if (MiscellaneousVars[178] <= 0) { PopupHoldDuration += 0.75; PopupFadeOutDuration += 0.5; } if (MonsterCrit != 0) { PopupHoldDuration *= 2; PopupFadeOutDuration *= 2; } xpos -= 32.0; ypos -= 32.0; SetFont("DQGDMNMED"); // DQHUDFONT yposmod = 0.0; // 9.0 if (playerdmgflashes) { if (playerdmgflashes > 1) { HudMessage(d:MiscellaneousVars[176],s:" (",d:MiscellaneousVars[177],s:"%)"; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_darkgreen,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } else { HudMessage(d:MiscellaneousVars[176]; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_darkgreen,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } // Damage/Heal Cloud/Bursts if (MiscellaneousVars[178] <= 0) // Armor Break [for now] { SetFont("BBURAPCT"); xposmod = 20.0; // 20.0 [large], 8.0 [small] yposmod = 10.0; // 10.0 [large], 6.0 [small] MiscellaneousVars[25203]++; } else // Damage w/o Armor Break { SetFont("BBURAPDM"); xposmod = 2.0; // 0.0 yposmod = 0.0; // 1.0 if (MonsterCrit != 0) { SetFont("BBURAPCR"); xposmod += 2.0; // 0.0 yposmod += 6.0; // 1.0 if (GetCVar("dvdsdebug_playerdmgdisplays") > 0) PrintBold(s:"Armor Dmg = ",f:xposmod,s:" ",f:yposmod); } MiscellaneousVars[25204]++; } if (playerdmgflashes) { HudMessage(s:"A";HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_untranslated,xpos+xposmod+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } if (GetCVar("dvdsdebug_playerdmgdisplays") > 0) PrintBold(s:"Armor Fade Duration = ",f:PopupHoldDuration,s:" ",f:PopupFadeOutDuration); } // Mana/MP PopupHoldDuration = 0.75 + ExHUDMsgDelayFixed; PopupFadeOutDuration = 0.5 + ExHUDMsgDelayFixed; xpos = CenterHUDWidth + 48.0; ypos = CenterHUDHeight + 48.0; if (MiscellaneousVars[174] >= 30) { xpos += 32.0; ypos += 32.0; } msgalpha = 0.834; msgalpha = FixedMul(msgalpha,overallhudalpha); // [236] Shows "ManaDifference" in the new HUD for Player's "Damage/Healing" bursts. // [237] Shows "ManaDiffRatio" in the new HUD for Player's "Damage/Healing" bursts. // [238] Shows "NewManaValue" in the new HUD for the Player's "Damage/Healing" bursts. // MP/Mana Damage/Heal if (MiscellaneousVars[236] != 0) { if (MiscellaneousVars[236] > 0) // Positive Value { if (MiscellaneousVars[237] < 5) { PopupHoldDuration += -0.375; PopupFadeOutDuration += -0.25; } if (MiscellaneousVars[238] >= CurrentMaxArmor) { PopupHoldDuration += 0.75; PopupFadeOutDuration += 0.5; } SetFont("DQGDMNMED"); // DQHUDFONT yposmod = 0.0; // 9.0 if (playerdmgflashes) { if (playerdmgflashes > 1) { HudMessage(d:MiscellaneousVars[236],s:" (",d:MiscellaneousVars[237],s:"%)"; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_lightblue,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } else { HudMessage(d:MiscellaneousVars[236]; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_lightblue,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } SetFont("BBURMPHL"); yposmod = 0.0; // 1.0 if (playerdmgflashes) { HudMessage(s:"A";HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_untranslated,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } else if (MiscellaneousVars[236] < 0) // Negative Value { MiscellaneousVars[236] *= -1; MiscellaneousVars[237] *= -1; if (MiscellaneousVars[237] < 5) { PopupHoldDuration += -0.375; PopupFadeOutDuration = -0.25; } if (MiscellaneousVars[238] <= 0) { PopupHoldDuration += 0.75; PopupFadeOutDuration += 0.5; } if (MonsterCrit != 0) { PopupHoldDuration *= 2; PopupFadeOutDuration *= 2; } xpos += 32.0; ypos += 32.0; SetFont("DQGDMNMED"); // DQHUDFONT yposmod = 0.0; // 9.0 if (playerdmgflashes) { if (playerdmgflashes > 1) { HudMessage(d:MiscellaneousVars[236],s:" (",d:MiscellaneousVars[237],s:"%)"; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_brick,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } else { HudMessage(d:MiscellaneousVars[236]; HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_brick,xpos+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } // Damage/Heal Cloud/Bursts if (MiscellaneousVars[238] <= 0) // Mana Depleted Fully { SetFont("BBURMPCT"); xposmod = 20.0; // 20.0 [large], 8.0 [small] yposmod = 10.0; // 10.0 [large], 6.0 [small] } else // Damage w/o Mana Depletion { SetFont("BBURMPDM"); xposmod = 2.0; // 0.0 yposmod = 0.0; // 1.0 if (MonsterCrit != 0) { SetFont("BBURMPCR"); xposmod += 2.0; // 0.0 yposmod += 6.0; // 1.0 if (GetCVar("dvdsdebug_playerdmgdisplays") > 0) PrintBold(s:"Mana Dmg = ",f:xposmod,s:" ",f:yposmod); } } if (playerdmgflashes) { HudMessage(s:"A";HUDMSG_ALPHA|HUDMSG_FADEOUT,0,cr_untranslated,xpos+xposmod+PopUpXPlacement,ypos+yposmod+PopUpYPlacement,PopupHoldDuration,PopupFadeOutDuration,0.834); } } } // Remove Monster Crit Flag if (MonsterCrit != 0) { if (GetCVar("dvdsdebug_playerdmgdisplays") > 0) PrintBold(s:"Monster Crit = ",d:MonsterCrit); MonsterCrit = 0; } } //************************* //************************* //************************* //************************* //************************* //****** Left Side ****** //************************* //************************* //************************* //************************* //************************* ScreenXOffset = GetCVar("dvdshud_widescreenxoffset") * -1.0; // Left-Side Means Negative ScreenXOffsetInt = GetCVar("dvdshud_widescreenxoffset") * -1; // Left-Side Means Negative //**************** //***Upper Left*** //**************** ScreenYOffset = GetCVar("dvdshud_widescreenyoffset") * -1.0; // Upper-Side Means Negative ScreenYOffsetInt = GetCVar("dvdshud_widescreenyoffset") * -1; // Upper-Side Means Negative //*********************************** //**"Boss" Lifemeter [2401 to 2408]** UPPER LEFT //*********************************** // 2401 - Boss HP Label // 2402 - Boss HP Amounts, // 2403 - Boss HP Meter Border, // 2404-2405 - Boss Meter Notches // 2406 - Boss HP Meter Glass // 2407 - Boss Name // 2408 - Boss Portrait if (GetCVar("dvdshud_showbosslifemeter") > 0) { int BossHealth; MiscellaneousVars[2027] = 0; BossHealth = GetActorProperty(1124,APROP_Health); if (BossHealth > 0) { MiscellaneousVars[2027] = 1124; } // Check for a Sauravatar first else { BossHealth = GetActorProperty(1123,APROP_Health); if (BossHealth > 0) { MiscellaneousVars[2027] = 1123; } // Check for a Sauron's Eye [Main] second else { BossHealth = GetActorProperty(1222,APROP_Health); // use tag 1222 for custom "bosses" if (BossHealth > 0) { MiscellaneousVars[2027] = 1222; } // Check for custom bosses third if neither of the above exists } } SetActivator(0); if (MiscellaneousVars[2027] > 0) { SetActivator(MiscellaneousVars[2027]); if (IsPointerEqual(AAPTR_TARGET, AAPTR_NULL) == FALSE || CheckActorClass(MiscellaneousVars[2027], "DSBossBrain")) { SetActivator(0); CurrentValue = GetActorProperty(MiscellaneousVars[2027],APROP_Health); // Current Health for Boss MaxValue = GetUserVariable(MiscellaneousVars[2027],"user_MaxHP"); // Max Health for Boss if (MaxValue > 0) { // Boss "HP" Label xpos = ScreenXOffset + 168.0; // 168.0; ypos = ScreenYOffset + 92.0; // 92.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("DQHUDFONTSML"); HudMessage(s:"HP";HUDMSG_ALPHA,2401,cr_orange,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Boss HP Amounts xpos = ScreenXOffset + 371.0; // 371.0; ypos = ScreenYOffset + 96.0; // 96.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("DQHUDFONTSML"); HudMessage(d:CurrentValue,s:"/",d:MaxValue;HUDMSG_ALPHA,2402,cr_orange,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Boss Meter Border xpos = ScreenXOffset + 369.0; // 369.0 ypos = ScreenYOffset + 94.0; // 94.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("BLMMFRAM"); HudMessage(s:"A";HUDMSG_ALPHA,2403,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Boss Meter Notches CurrentValue = GetActorProperty(MiscellaneousVars[2027],APROP_Health); // Current Health for Boss MaxValue = GetUserVariable(MiscellaneousVars[2027],"user_MaxHP"); // Max Health for Boss fontname = "HPBFN"; // First 200 Notches fontnum = CurrentValue * 400 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 269.0; ypos = ScreenYOffset + 92.0; // 94.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"HPBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"HPBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"HPBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2404,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Second 200 Notches fontnum = (CurrentValue * 400 / MaxValue) - 200; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 469.0; ypos = ScreenYOffset + 92.0; // 94.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"HPBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"HPBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"HPBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2405,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Boss Meter Glass xpos = ScreenXOffset + 369.0; // 369.0 ypos = ScreenYOffset + 94.0; // 94.0 SetFont("BLMMGLAS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2406,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Boss Name xpos = ScreenXOffset + 169.0 + 0.1; // 169.1 if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 60.0; // 60.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("BLMNNORM"); if (MiscellaneousVars[2027] == 1123) SetFont("BLMNSAEY"); if (MiscellaneousVars[2027] == 1124) SetFont("BLMNSAAV"); HudMessage(s:"A";HUDMSG_ALPHA,2407,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Boss Portrait xpos = ScreenXOffset + 126.0; // 126.0 ypos = ScreenYOffset + 75.0; // 75.0 SetFont("BLMPNORM"); if (MiscellaneousVars[2027] == 1123) SetFont("BLMPSAEY"); if (MiscellaneousVars[2027] == 1124) SetFont("BLMPSAAV"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2408,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } } SetActivator(0); //**************** //***Lower Left*** //**************** ScreenYOffset = GetCVar("dvdshud_widescreenyoffset") * 1.0; // Lower-Side Means Positive Y //************************** //**"LEVEL UP" Icon [2279]** //************************** // 2279 - Level Up Icon // 2280 - Dash Available Icon // 2281-2320 - Character Portrait Pieces // 2321-2331 - QuickSpell Text Costs // 2332-2342 - QuickSpell Bind Key Display // 2343-2353 - Not Enough Mana Icons // 2354-2364 - QuickSpell Icons // 2365 - QuickSpell Box Style tempvar1 = 172; if (MiscellaneousVars[171] > 0) // Level up timer { xpos = ScreenXOffset + 240.0; // 240.0 ypos = ScreenYOffset + 576.0; // 640.0 msgalpha = 0.975; MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.975; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.96; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.945; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.93; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.915; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.90; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.885; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.87; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.855; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.84; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.825; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.81; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.795; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.78; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.765; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.735; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] = 1; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("LEVELUP"); HudMessage(s:"A";HUDMSG_ALPHA,2279,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] = 0; } //****************************** //**Dash Available Icon [2280]** //****************************** xpos = ScreenXOffset + 64.0; // 60.0 ypos = ScreenYOffset + 784.0; // 784.0; if (MiscellaneousVars[25001] > 0 && MiscellaneousVars[21] >= MiscellaneousVars[638]) { if (MiscellaneousVars[166] == 0 && MiscellaneousVars[85] != -1) { msgalpha = 0.75; SetFont("DASHICON"); HudMessage(s:"A";HUDMSG_ALPHA,2280,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (MiscellaneousVars[166] == 0 && MiscellaneousVars[85] == -1) { msgalpha = 0.25; SetFont("DASHICON"); HudMessage(s:"A";HUDMSG_ALPHA,2280,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } //********************************** //**Character Portrait [2281-2320]** //********************************** str formtype; str formtype2; str formtype3; str formtype4; str dmgtype; str dmgtype2; str dmgtype3; str dmgtype4; xpos = ScreenXOffset + 200.0; // 200.0 ypos = ScreenYOffset + 814.0; // 814.0; msgalpha = 0.75; // Blindness Overlay [2281] int blindnessframe; MiscellaneousVars[458]++; if (MiscellaneousVars[458] >= 15) MiscellaneousVars[458] = 0; if (MiscellaneousVars[458] >= 0 & MiscellaneousVars[458] <= 2) blindnessframe = 1; if (MiscellaneousVars[458] >= 3 & MiscellaneousVars[458] <= 5) blindnessframe = 2; if (MiscellaneousVars[458] >= 6 & MiscellaneousVars[458] <= 8) blindnessframe = 3; if (MiscellaneousVars[458] >= 9 & MiscellaneousVars[458] <= 11) blindnessframe = 4; if (MiscellaneousVars[458] >= 12 & MiscellaneousVars[458] <= 14) blindnessframe = 5; if (PowerupTimer[19] > 0 && MiscellaneousVars[25001] > 0) { formtype2 = "BLND"; if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PD1"; else formtype = "PD1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PI1"; else formtype = "PI1"; } if (CharacterClass == 2) { if (PowerupTimer[7] > 0) formtype = "PF2"; else formtype = "PF1"; } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PA2"; else formtype = "PA1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PP2"; else formtype = "PP1"; } fontname = StrParam(s:formtype,s:formtype2,d:blindnessframe); SetFont(fontname); if (CharacterClass != 2) SetFont("PBLKIMG"); // If using Invisiblity Spell, pulsate the alpha of the buff effect msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2281,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Buff Overlays (6) [Divine Avatar Aura] [2282] SetFont("PBLKIMG"); int divineavatarframe; MiscellaneousVars[456]++; if (MiscellaneousVars[456] >= 30) MiscellaneousVars[456] = 0; if (MiscellaneousVars[456] >= 0 & MiscellaneousVars[456] <= 2) divineavatarframe = 1; if (MiscellaneousVars[456] >= 3 & MiscellaneousVars[456] <= 5) divineavatarframe = 2; if (MiscellaneousVars[456] >= 6 & MiscellaneousVars[456] <= 8) divineavatarframe = 3; if (MiscellaneousVars[456] >= 9 & MiscellaneousVars[456] <= 11) divineavatarframe = 4; if (MiscellaneousVars[456] >= 12 & MiscellaneousVars[456] <= 14) divineavatarframe = 5; if (MiscellaneousVars[456] >= 15 & MiscellaneousVars[456] <= 17) divineavatarframe = 6; if (MiscellaneousVars[456] >= 18 & MiscellaneousVars[456] <= 20) divineavatarframe = 5; if (MiscellaneousVars[456] >= 21 & MiscellaneousVars[456] <= 23) divineavatarframe = 4; if (MiscellaneousVars[456] >= 24 & MiscellaneousVars[456] <= 26) divineavatarframe = 3; if (MiscellaneousVars[456] >= 27 & MiscellaneousVars[456] <= 29) divineavatarframe = 2; if (PowerupTimer[7] > 0 && MiscellaneousVars[25001] > 0) { formtype2 = "DVAV"; if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PD1"; else formtype = "PD1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PI1"; else formtype = "PI1"; } if (CharacterClass == 2) { if (PowerupTimer[7] > 0) formtype = "PF2"; else formtype = "PF1"; } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PA2"; else formtype = "PA1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PP2"; else formtype = "PP1"; } fontname = StrParam(s:formtype,s:formtype2,d:divineavatarframe); SetFont(fontname); msgalpha = 1.0; if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); // If using Invisiblity Spell, pulsate the alpha of the buff effect msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2282,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Buff Overlays (5) [Curse] [2283-2284] if (MiscellaneousVars[25112] > 0 && MiscellaneousVars[25001] > 0) { MiscellaneousVars[448]++; // Curse Overall Transperancy/Alpha if (MiscellaneousVars[448] == 1 || MiscellaneousVars[448] == 35) msgalpha = 0.875; if (MiscellaneousVars[448] == 2 || MiscellaneousVars[448] == 34) msgalpha = 0.864; // -0.011 if (MiscellaneousVars[448] == 3 || MiscellaneousVars[448] == 33) msgalpha = 0.853; if (MiscellaneousVars[448] == 4 || MiscellaneousVars[448] == 32) msgalpha = 0.842; if (MiscellaneousVars[448] == 5 || MiscellaneousVars[448] == 31) msgalpha = 0.831; if (MiscellaneousVars[448] == 6 || MiscellaneousVars[448] == 30) msgalpha = 0.820; if (MiscellaneousVars[448] == 7 || MiscellaneousVars[448] == 29) msgalpha = 0.809; if (MiscellaneousVars[448] == 8 || MiscellaneousVars[448] == 28) msgalpha = 0.798; if (MiscellaneousVars[448] == 9 || MiscellaneousVars[448] == 27) msgalpha = 0.787; if (MiscellaneousVars[448] == 10 || MiscellaneousVars[448] == 26) msgalpha = 0.776; if (MiscellaneousVars[448] == 11 || MiscellaneousVars[448] == 25) msgalpha = 0.765; if (MiscellaneousVars[448] == 12 || MiscellaneousVars[448] == 24) msgalpha = 0.754; if (MiscellaneousVars[448] == 13 || MiscellaneousVars[448] == 23) msgalpha = 0.743; if (MiscellaneousVars[448] == 14 || MiscellaneousVars[448] == 22) msgalpha = 0.732; if (MiscellaneousVars[448] == 15 || MiscellaneousVars[448] == 21) msgalpha = 0.721; if (MiscellaneousVars[448] == 16 || MiscellaneousVars[448] == 20) msgalpha = 0.710; if (MiscellaneousVars[448] == 17 || MiscellaneousVars[448] == 19) msgalpha = 0.699; if (MiscellaneousVars[448] == 18) msgalpha = 0.688; // -0.187 if (MiscellaneousVars[448] >= 35) MiscellaneousVars[448] -= 34; int curseoutlineframe; MiscellaneousVars[449]++; if (MiscellaneousVars[449] >= 0 & MiscellaneousVars[449] <= 1) curseoutlineframe = 1; if (MiscellaneousVars[449] >= 2 & MiscellaneousVars[449] <= 3 || MiscellaneousVars[449] >= 38 & MiscellaneousVars[449] <= 39) curseoutlineframe = 2; if (MiscellaneousVars[449] >= 4 & MiscellaneousVars[449] <= 5 || MiscellaneousVars[449] >= 36 & MiscellaneousVars[449] <= 37) curseoutlineframe = 3; if (MiscellaneousVars[449] >= 6 & MiscellaneousVars[449] <= 7 || MiscellaneousVars[449] >= 34 & MiscellaneousVars[449] <= 35) curseoutlineframe = 4; if (MiscellaneousVars[449] >= 8 & MiscellaneousVars[449] <= 9 || MiscellaneousVars[449] >= 32 & MiscellaneousVars[449] <= 33) curseoutlineframe = 5; if (MiscellaneousVars[449] >= 10 & MiscellaneousVars[449] <= 11 || MiscellaneousVars[449] >= 30 & MiscellaneousVars[449] <= 31) curseoutlineframe = 6; if (MiscellaneousVars[449] >= 12 & MiscellaneousVars[449] <= 13 || MiscellaneousVars[449] >= 28 & MiscellaneousVars[449] <= 29) curseoutlineframe = 7; if (MiscellaneousVars[449] >= 14 & MiscellaneousVars[449] <= 15 || MiscellaneousVars[449] >= 26 & MiscellaneousVars[449] <= 27) curseoutlineframe = 8; if (MiscellaneousVars[449] >= 16 & MiscellaneousVars[449] <= 17 || MiscellaneousVars[449] >= 24 & MiscellaneousVars[449] <= 25) curseoutlineframe = 9; if (MiscellaneousVars[449] >= 18 & MiscellaneousVars[449] <= 19 || MiscellaneousVars[449] >= 22 & MiscellaneousVars[449] <= 23) curseoutlineframe = 10; if (MiscellaneousVars[449] >= 20 & MiscellaneousVars[449] <= 21) curseoutlineframe = 11; if (MiscellaneousVars[449] >= 40) MiscellaneousVars[449] = 0; formtype2 = "CROL"; if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PD1"; else formtype = "PD1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PI1"; else formtype = "PI1"; } if (CharacterClass == 2) { if (PowerupTimer[7] > 0) formtype = "PF2"; else formtype = "PF1"; } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PA2"; else formtype = "PA1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PP2"; else formtype = "PP1"; } if (curseoutlineframe == 1) formtype3 = "1"; if (curseoutlineframe == 2) formtype3 = "2"; if (curseoutlineframe == 3) formtype3 = "3"; if (curseoutlineframe == 4) formtype3 = "4"; if (curseoutlineframe == 5) formtype3 = "5"; if (curseoutlineframe == 6) formtype3 = "6"; if (curseoutlineframe == 7) formtype3 = "7"; if (curseoutlineframe == 8) formtype3 = "8"; if (curseoutlineframe == 9) formtype3 = "9"; if (curseoutlineframe == 10) formtype3 = "A"; if (curseoutlineframe == 11) formtype3 = "B"; fontname = StrParam(s:formtype,s:formtype2,s:formtype3); SetFont(fontname); if (CharacterClass != 2) SetFont("PBLKIMG"); if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); // If using Invisiblity Spell, pulsate the alpha of the buff effect msgalpha = FixedMul(msgalpha,1.25); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2283,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); int curseoverlayframe; MiscellaneousVars[450]++; if (MiscellaneousVars[450] >= 0 & MiscellaneousVars[450] <= 2) curseoverlayframe = 1; if (MiscellaneousVars[450] >= 3 & MiscellaneousVars[450] <= 5 || MiscellaneousVars[450] >= 57 & MiscellaneousVars[450] <= 59) curseoverlayframe = 2; if (MiscellaneousVars[450] >= 6 & MiscellaneousVars[450] <= 8 || MiscellaneousVars[450] >= 54 & MiscellaneousVars[450] <= 56) curseoverlayframe = 3; if (MiscellaneousVars[450] >= 9 & MiscellaneousVars[450] <= 11 || MiscellaneousVars[450] >= 51 & MiscellaneousVars[450] <= 53) curseoverlayframe = 4; if (MiscellaneousVars[450] >= 12 & MiscellaneousVars[450] <= 14 || MiscellaneousVars[450] >= 48 & MiscellaneousVars[450] <= 50) curseoverlayframe = 5; if (MiscellaneousVars[450] >= 15 & MiscellaneousVars[450] <= 17 || MiscellaneousVars[450] >= 45 & MiscellaneousVars[450] <= 47) curseoverlayframe = 6; if (MiscellaneousVars[450] >= 18 & MiscellaneousVars[450] <= 20 || MiscellaneousVars[450] >= 42 & MiscellaneousVars[450] <= 44) curseoverlayframe = 7; if (MiscellaneousVars[450] >= 21 & MiscellaneousVars[450] <= 23 || MiscellaneousVars[450] >= 39 & MiscellaneousVars[450] <= 41) curseoverlayframe = 8; if (MiscellaneousVars[450] >= 24 & MiscellaneousVars[450] <= 26 || MiscellaneousVars[450] >= 36 & MiscellaneousVars[450] <= 38) curseoverlayframe = 9; if (MiscellaneousVars[450] >= 27 & MiscellaneousVars[450] <= 29 || MiscellaneousVars[450] >= 33 & MiscellaneousVars[450] <= 35) curseoverlayframe = 10; if (MiscellaneousVars[450] >= 30 & MiscellaneousVars[450] <= 32) curseoverlayframe = 11; if (MiscellaneousVars[450] >= 60) MiscellaneousVars[450] = 0; formtype2 = "CROV"; if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PD1"; else formtype = "PD1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PI1"; else formtype = "PI1"; } if (CharacterClass == 2) { if (PowerupTimer[7] > 0) formtype = "PF2"; else formtype = "PF1"; } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PA2"; else formtype = "PA1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PP2"; else formtype = "PP1"; } if (curseoverlayframe == 1) formtype3 = "1"; if (curseoverlayframe == 2) formtype3 = "2"; if (curseoverlayframe == 3) formtype3 = "3"; if (curseoverlayframe == 4) formtype3 = "4"; if (curseoverlayframe == 5) formtype3 = "5"; if (curseoverlayframe == 6) formtype3 = "6"; if (curseoverlayframe == 7) formtype3 = "7"; if (curseoverlayframe == 8) formtype3 = "8"; if (curseoverlayframe == 9) formtype3 = "9"; if (curseoverlayframe == 10) formtype3 = "A"; if (curseoverlayframe == 11) formtype3 = "B"; fontname = StrParam(s:formtype,s:formtype2,s:formtype3); SetFont(fontname); if (CharacterClass != 2) SetFont("PBLKIMG"); if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); // If using Invisiblity Spell, pulsate the alpha of the buff effect msgalpha = FixedMul(msgalpha,1.25); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2284,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Buff Overlays (4) [Poison Aura] [2285] SetFont("PBLKIMG"); int poisonoverlayframe; MiscellaneousVars[451]++; // Buff Overlay Timer 1 [Overlay Frame] if (MiscellaneousVars[451] >= 0 & MiscellaneousVars[451] <= 3) poisonoverlayframe = 0; if (MiscellaneousVars[451] >= 4 & MiscellaneousVars[451] <= 7) poisonoverlayframe = 1; if (MiscellaneousVars[451] >= 8 & MiscellaneousVars[451] <= 11) poisonoverlayframe = 2; if (MiscellaneousVars[451] >= 12 & MiscellaneousVars[451] <= 15) poisonoverlayframe = 3; if (MiscellaneousVars[451] >= 16 & MiscellaneousVars[451] <= 19) poisonoverlayframe = 4; if (MiscellaneousVars[451] >= 20 & MiscellaneousVars[451] <= 23) poisonoverlayframe = 5; if (MiscellaneousVars[451] >= 24 & MiscellaneousVars[451] <= 27) poisonoverlayframe = 6; if (MiscellaneousVars[451] >= 28 & MiscellaneousVars[451] <= 31) poisonoverlayframe = 7; if (MiscellaneousVars[451] >= 32 & MiscellaneousVars[451] <= 35) poisonoverlayframe = 8; if (MiscellaneousVars[451] >= 36 & MiscellaneousVars[451] <= 39) poisonoverlayframe = 9; if (MiscellaneousVars[451] >= 40) MiscellaneousVars[451] -= 40; if (PowerupTimer[16] > 0 && MiscellaneousVars[25001] > 0) { formtype2 = "POIS"; if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PD1"; else formtype = "PD1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PI1"; else formtype = "PI1"; } if (CharacterClass == 2) { if (PowerupTimer[7] > 0) formtype = "PF2"; else formtype = "PF1"; } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PA2"; else formtype = "PA1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PP2"; else formtype = "PP1"; } fontname = StrParam(s:formtype,s:formtype2,d:poisonoverlayframe); SetFont(fontname); if (CharacterClass != 2) SetFont("PBLKIMG"); msgalpha = 1.0; MiscellaneousVars[452]++; // Buff Overlay Timer 2 [Overlay Alpha] if (MiscellaneousVars[452] == 1 || MiscellaneousVars[452] == 35) msgalpha = 0.875; if (MiscellaneousVars[452] == 2 || MiscellaneousVars[452] == 34) msgalpha = 0.853; if (MiscellaneousVars[452] == 3 || MiscellaneousVars[452] == 33) msgalpha = 0.831; if (MiscellaneousVars[452] == 4 || MiscellaneousVars[452] == 32) msgalpha = 0.809; if (MiscellaneousVars[452] == 5 || MiscellaneousVars[452] == 31) msgalpha = 0.787; if (MiscellaneousVars[452] == 6 || MiscellaneousVars[452] == 30) msgalpha = 0.765; if (MiscellaneousVars[452] == 7 || MiscellaneousVars[452] == 29) msgalpha = 0.743; if (MiscellaneousVars[452] == 8 || MiscellaneousVars[452] == 28) msgalpha = 0.721; if (MiscellaneousVars[452] == 9 || MiscellaneousVars[452] == 27) msgalpha = 0.699; if (MiscellaneousVars[452] == 10 || MiscellaneousVars[452] == 26) msgalpha = 0.677; if (MiscellaneousVars[452] == 11 || MiscellaneousVars[452] == 25) msgalpha = 0.655; if (MiscellaneousVars[452] == 12 || MiscellaneousVars[452] == 24) msgalpha = 0.633; if (MiscellaneousVars[452] == 13 || MiscellaneousVars[452] == 23) msgalpha = 0.611; if (MiscellaneousVars[452] == 14 || MiscellaneousVars[452] == 22) msgalpha = 0.589; if (MiscellaneousVars[452] == 15 || MiscellaneousVars[452] == 21) msgalpha = 0.567; if (MiscellaneousVars[452] == 16 || MiscellaneousVars[452] == 20) msgalpha = 0.545; if (MiscellaneousVars[452] == 17 || MiscellaneousVars[452] == 19) msgalpha = 0.523; if (MiscellaneousVars[452] == 18) msgalpha = 0.501; if (MiscellaneousVars[452] >= 35) MiscellaneousVars[452] -= 34; msgalpha += 0.00; if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); // If using Invisiblity Spell, pulsate the alpha of the buff effect msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2285,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Buff Overlays (1) [Fear Aura] [2286] int fearauraframe = 0; MiscellaneousVars[147]++; // Buff Overlay Timer 1 [Overlay Frame] if (MiscellaneousVars[147] >= 20) MiscellaneousVars[147] -= 20; if (MiscellaneousVars[147] == 0) fearauraframe = 0; if (MiscellaneousVars[147] == 1) fearauraframe = 0; if (MiscellaneousVars[147] == 2 || MiscellaneousVars[147] == 19) fearauraframe = 1; if (MiscellaneousVars[147] == 3 || MiscellaneousVars[147] == 18) fearauraframe = 1; if (MiscellaneousVars[147] == 4 || MiscellaneousVars[147] == 17) fearauraframe = 2; if (MiscellaneousVars[147] == 5 || MiscellaneousVars[147] == 16) fearauraframe = 2; if (MiscellaneousVars[147] == 6 || MiscellaneousVars[147] == 15) fearauraframe = 3; if (MiscellaneousVars[147] == 7 || MiscellaneousVars[147] == 14) fearauraframe = 3; if (MiscellaneousVars[147] == 8 || MiscellaneousVars[147] == 13) fearauraframe = 4; if (MiscellaneousVars[147] == 9 || MiscellaneousVars[147] == 12) fearauraframe = 4; if (MiscellaneousVars[147] == 10) fearauraframe = 5; if (MiscellaneousVars[147] == 11) fearauraframe = 5; SetFont("PBLKIMG"); if (PowerupTimer[6] > 0 && MiscellaneousVars[25001] > 0) { formtype2 = "FRAR"; if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PD1"; else formtype = "PD1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PI1"; else formtype = "PI1"; } if (CharacterClass == 2) { if (PowerupTimer[7] > 0) formtype = "PF2"; else formtype = "PF1"; } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PA2"; else formtype = "PA1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PP2"; else formtype = "PP1"; } fontname = StrParam(s:formtype,s:formtype2,d:fearauraframe); SetFont(fontname); if (CharacterClass != 2) SetFont("PBLKIMG"); msgalpha = 1.0; if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); // If using Invisiblity Spell, pulsate the alpha of the buff effect msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2286,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Buff Overlays (2) [ATK/DEF/SPD Up/Down] [2287] MiscellaneousVars[138]++; // Buff Overlay Timer 3 [Overlay Type] if (MiscellaneousVars[138] >= 120) MiscellaneousVars[138] -= 120; int bufftypebitfield = 0; if (PowerupTimer[10] > 0 || PowerupTimer[13] > 0) bufftypebitfield += 1; if (PowerupTimer[11] > 0 || PowerupTimer[14] > 0) bufftypebitfield += 2; if (PowerupTimer[12] > 0 || PowerupTimer[15] > 0) bufftypebitfield += 4; if (bufftypebitfield == 1) // ATK { if (PowerupTimer[10] > 0 && PowerupTimer[13] > 0) { if (MiscellaneousVars[138] >= 0 && MiscellaneousVars[138] <= 59) MiscellaneousVars[139] = 0; if (MiscellaneousVars[138] >= 60 && MiscellaneousVars[138] <= 119) MiscellaneousVars[139] = 3; } else { if (PowerupTimer[10] > 0) MiscellaneousVars[139] = 0; if (PowerupTimer[13] > 0) MiscellaneousVars[139] = 3; } } if (bufftypebitfield == 2) // DEF { if (PowerupTimer[11] > 0 && PowerupTimer[14] > 0) { if (MiscellaneousVars[138] >= 0 && MiscellaneousVars[138] <= 59) MiscellaneousVars[139] = 1; if (MiscellaneousVars[138] >= 60 && MiscellaneousVars[138] <= 119) MiscellaneousVars[139] = 4; } else { if (PowerupTimer[11] > 0) MiscellaneousVars[139] = 1; if (PowerupTimer[14] > 0) MiscellaneousVars[139] = 4; } } if (bufftypebitfield == 4) // SPD { if (PowerupTimer[12] > 0 && PowerupTimer[15] > 0) { if (MiscellaneousVars[138] >= 0 && MiscellaneousVars[138] <= 59) MiscellaneousVars[139] = 2; if (MiscellaneousVars[138] >= 60 && MiscellaneousVars[138] <= 119) MiscellaneousVars[139] = 5; } else { if (PowerupTimer[12] > 0) MiscellaneousVars[139] = 2; if (PowerupTimer[15] > 0) MiscellaneousVars[139] = 5; } } if (bufftypebitfield == 3) // ATK/DEF { if (MiscellaneousVars[138] >= 0 && MiscellaneousVars[138] <= 59) { if (PowerupTimer[10] > 0 && PowerupTimer[13] > 0) { if (MiscellaneousVars[138] >= 0 && MiscellaneousVars[138] <= 29) MiscellaneousVars[139] = 0; if (MiscellaneousVars[138] >= 30 && MiscellaneousVars[138] <= 59) MiscellaneousVars[139] = 3; } else { if (PowerupTimer[10] > 0) MiscellaneousVars[139] = 0; if (PowerupTimer[13] > 0) MiscellaneousVars[139] = 3; } } if (MiscellaneousVars[138] >= 60 && MiscellaneousVars[138] <= 119) { if (PowerupTimer[11] > 0 && PowerupTimer[14] > 0) { if (MiscellaneousVars[138] >= 60 && MiscellaneousVars[138] <= 89) MiscellaneousVars[139] = 1; if (MiscellaneousVars[138] >= 90 && MiscellaneousVars[138] <= 119) MiscellaneousVars[139] = 4; } else { if (PowerupTimer[11] > 0) MiscellaneousVars[139] = 1; if (PowerupTimer[14] > 0) MiscellaneousVars[139] = 4; } } } if (bufftypebitfield == 5) // ATK/SPD { if (MiscellaneousVars[138] >= 0 && MiscellaneousVars[138] <= 59) { if (PowerupTimer[10] > 0 && PowerupTimer[13] > 0) { if (MiscellaneousVars[138] >= 0 && MiscellaneousVars[138] <= 29) MiscellaneousVars[139] = 0; if (MiscellaneousVars[138] >= 30 && MiscellaneousVars[138] <= 59) MiscellaneousVars[139] = 3; } else { if (PowerupTimer[10] > 0) MiscellaneousVars[139] = 0; if (PowerupTimer[13] > 0) MiscellaneousVars[139] = 3; } } if (MiscellaneousVars[138] >= 60 && MiscellaneousVars[138] <= 119) { if (PowerupTimer[12] > 0 && PowerupTimer[15] > 0) { if (MiscellaneousVars[138] >= 60 && MiscellaneousVars[138] <= 89) MiscellaneousVars[139] = 2; if (MiscellaneousVars[138] >= 90 && MiscellaneousVars[138] <= 119) MiscellaneousVars[139] = 5; } else { if (PowerupTimer[12] > 0) MiscellaneousVars[139] = 2; if (PowerupTimer[15] > 0) MiscellaneousVars[139] = 5; } } } if (bufftypebitfield == 6) // DEF/SPD { if (MiscellaneousVars[138] >= 0 && MiscellaneousVars[138] <= 59) { if (PowerupTimer[11] > 0 && PowerupTimer[14] > 0) { if (MiscellaneousVars[138] >= 0 && MiscellaneousVars[138] <= 29) MiscellaneousVars[139] = 1; if (MiscellaneousVars[138] >= 30 && MiscellaneousVars[138] <= 59) MiscellaneousVars[139] = 4; } else { if (PowerupTimer[11] > 0) MiscellaneousVars[139] = 1; if (PowerupTimer[14] > 0) MiscellaneousVars[139] = 4; } } if (MiscellaneousVars[138] >= 60 && MiscellaneousVars[138] <= 119) { if (PowerupTimer[12] > 0 && PowerupTimer[15] > 0) { if (MiscellaneousVars[138] >= 60 && MiscellaneousVars[138] <= 89) MiscellaneousVars[139] = 2; if (MiscellaneousVars[138] >= 90 && MiscellaneousVars[138] <= 119) MiscellaneousVars[139] = 5; } else { if (PowerupTimer[12] > 0) MiscellaneousVars[139] = 2; if (PowerupTimer[15] > 0) MiscellaneousVars[139] = 5; } } } if (bufftypebitfield == 7) // ATK/DEF/SPD { if (MiscellaneousVars[138] >= 0 && MiscellaneousVars[138] <= 39) { if (PowerupTimer[10] > 0 && PowerupTimer[13] > 0) { if (MiscellaneousVars[138] >= 0 && MiscellaneousVars[138] <= 19) MiscellaneousVars[139] = 0; if (MiscellaneousVars[138] >= 20 && MiscellaneousVars[138] <= 39) MiscellaneousVars[139] = 3; } else { if (PowerupTimer[10] > 0) MiscellaneousVars[139] = 0; if (PowerupTimer[13] > 0) MiscellaneousVars[139] = 3; } } if (MiscellaneousVars[138] >= 40 && MiscellaneousVars[138] <= 79) { if (PowerupTimer[11] > 0 && PowerupTimer[14] > 0) { if (MiscellaneousVars[138] >= 40 && MiscellaneousVars[138] <= 59) MiscellaneousVars[139] = 1; if (MiscellaneousVars[138] >= 60 && MiscellaneousVars[138] <= 79) MiscellaneousVars[139] = 4; } else { if (PowerupTimer[11] > 0) MiscellaneousVars[139] = 1; if (PowerupTimer[14] > 0) MiscellaneousVars[139] = 4; } } if (MiscellaneousVars[138] >= 80 && MiscellaneousVars[138] <= 119) { if (PowerupTimer[12] > 0 && PowerupTimer[15] > 0) { if (MiscellaneousVars[138] >= 80 && MiscellaneousVars[138] <= 99) MiscellaneousVars[139] = 2; if (MiscellaneousVars[138] >= 100 && MiscellaneousVars[138] <= 119) MiscellaneousVars[139] = 5; } else { if (PowerupTimer[12] > 0) MiscellaneousVars[139] = 2; if (PowerupTimer[15] > 0) MiscellaneousVars[139] = 5; } } } // Buff Overlays SetFont("PBLKIMG"); int buffoverlayframe; MiscellaneousVars[136]++; // Buff Overlay Timer 2 [Overlay Frame] if (MiscellaneousVars[136] >= 0 & MiscellaneousVars[136] <= 1) buffoverlayframe = 0; if (MiscellaneousVars[136] >= 2 & MiscellaneousVars[136] <= 3) buffoverlayframe = 1; if (MiscellaneousVars[136] >= 4 & MiscellaneousVars[136] <= 5) buffoverlayframe = 2; if (MiscellaneousVars[136] >= 6 & MiscellaneousVars[136] <= 7) buffoverlayframe = 3; if (MiscellaneousVars[136] >= 8 & MiscellaneousVars[136] <= 9) buffoverlayframe = 4; if (MiscellaneousVars[136] >= 10 & MiscellaneousVars[136] <= 11) buffoverlayframe = 5; if (MiscellaneousVars[136] >= 12 & MiscellaneousVars[136] <= 13) buffoverlayframe = 6; if (MiscellaneousVars[136] >= 14 & MiscellaneousVars[136] <= 15) buffoverlayframe = 7; if (MiscellaneousVars[136] >= 16 & MiscellaneousVars[136] <= 17) buffoverlayframe = 8; if (MiscellaneousVars[136] >= 18 & MiscellaneousVars[136] <= 19) buffoverlayframe = 9; if (MiscellaneousVars[136] >= 20) MiscellaneousVars[136] -= 20; if (MiscellaneousVars[25001] > 0) { if (CharacterClass == 2) { if (PowerupTimer[7] > 0) { if (bufftypebitfield > 0) { if (buffoverlayframe == 0) { if (MiscellaneousVars[139] == 0) SetFont("PF2ATKU0"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF2DEFU0"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF2SPDU0"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF2ATKD0"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF2DEFD0"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF2SPDD0"); // Deceleratle } if (buffoverlayframe == 1) { if (MiscellaneousVars[139] == 0) SetFont("PF2ATKU1"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF2DEFU1"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF2SPDU1"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF2ATKD1"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF2DEFD1"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF2SPDD1"); // Deceleratle } if (buffoverlayframe == 2) { if (MiscellaneousVars[139] == 0) SetFont("PF2ATKU2"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF2DEFU2"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF2SPDU2"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF2ATKD2"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF2DEFD2"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF2SPDD2"); // Deceleratle } if (buffoverlayframe == 3) { if (MiscellaneousVars[139] == 0) SetFont("PF2ATKU3"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF2DEFU3"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF2SPDU3"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF2ATKD3"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF2DEFD3"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF2SPDD3"); // Deceleratle } if (buffoverlayframe == 4) { if (MiscellaneousVars[139] == 0) SetFont("PF2ATKU4"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF2DEFU4"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF2SPDU4"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF2ATKD4"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF2DEFD4"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF2SPDD4"); // Deceleratle } if (buffoverlayframe == 5) { if (MiscellaneousVars[139] == 0) SetFont("PF2ATKU5"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF2DEFU5"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF2SPDU5"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF2ATKD5"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF2DEFD5"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF2SPDD5"); // Deceleratle } if (buffoverlayframe == 6) { if (MiscellaneousVars[139] == 0) SetFont("PF2ATKU6"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF2DEFU6"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF2SPDU6"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF2ATKD6"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF2DEFD6"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF2SPDD6"); // Deceleratle } if (buffoverlayframe == 7) { if (MiscellaneousVars[139] == 0) SetFont("PF2ATKU7"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF2DEFU7"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF2SPDU7"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF2ATKD7"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF2DEFD7"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF2SPDD7"); // Deceleratle } if (buffoverlayframe == 8) { if (MiscellaneousVars[139] == 0) SetFont("PF2ATKU8"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF2DEFU8"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF2SPDU8"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF2ATKD8"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF2DEFD8"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF2SPDD8"); // Deceleratle } if (buffoverlayframe == 9) { if (MiscellaneousVars[139] == 0) SetFont("PF2ATKU9"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF2DEFU9"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF2SPDU9"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF2ATKD9"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF2DEFD9"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF2SPDD9"); // Deceleratle } } } else { if (bufftypebitfield > 0) { if (buffoverlayframe == 0) { if (MiscellaneousVars[139] == 0) SetFont("PF1ATKU0"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF1DEFU0"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF1SPDU0"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF1ATKD0"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF1DEFD0"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF1SPDD0"); // Deceleratle } if (buffoverlayframe == 1) { if (MiscellaneousVars[139] == 0) SetFont("PF1ATKU1"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF1DEFU1"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF1SPDU1"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF1ATKD1"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF1DEFD1"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF1SPDD1"); // Deceleratle } if (buffoverlayframe == 2) { if (MiscellaneousVars[139] == 0) SetFont("PF1ATKU2"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF1DEFU2"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF1SPDU2"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF1ATKD2"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF1DEFD2"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF1SPDD2"); // Deceleratle } if (buffoverlayframe == 3) { if (MiscellaneousVars[139] == 0) SetFont("PF1ATKU3"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF1DEFU3"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF1SPDU3"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF1ATKD3"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF1DEFD3"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF1SPDD3"); // Deceleratle } if (buffoverlayframe == 4) { if (MiscellaneousVars[139] == 0) SetFont("PF1ATKU4"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF1DEFU4"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF1SPDU4"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF1ATKD4"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF1DEFD4"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF1SPDD4"); // Deceleratle } if (buffoverlayframe == 5) { if (MiscellaneousVars[139] == 0) SetFont("PF1ATKU5"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF1DEFU5"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF1SPDU5"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF1ATKD5"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF1DEFD5"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF1SPDD5"); // Deceleratle } if (buffoverlayframe == 6) { if (MiscellaneousVars[139] == 0) SetFont("PF1ATKU6"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF1DEFU6"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF1SPDU6"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF1ATKD6"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF1DEFD6"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF1SPDD6"); // Deceleratle } if (buffoverlayframe == 7) { if (MiscellaneousVars[139] == 0) SetFont("PF1ATKU7"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF1DEFU7"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF1SPDU7"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF1ATKD7"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF1DEFD7"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF1SPDD7"); // Deceleratle } if (buffoverlayframe == 8) { if (MiscellaneousVars[139] == 0) SetFont("PF1ATKU8"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF1DEFU8"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF1SPDU8"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF1ATKD8"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF1DEFD8"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF1SPDD8"); // Deceleratle } if (buffoverlayframe == 9) { if (MiscellaneousVars[139] == 0) SetFont("PF1ATKU9"); // Oomph if (MiscellaneousVars[139] == 1) SetFont("PF1DEFU9"); // Buff if (MiscellaneousVars[139] == 2) SetFont("PF1SPDU9"); // Acceleratle if (MiscellaneousVars[139] == 3) SetFont("PF1ATKD9"); // Blunt if (MiscellaneousVars[139] == 4) SetFont("PF1DEFD9"); // Sap if (MiscellaneousVars[139] == 5) SetFont("PF1SPDD9"); // Deceleratle } } } } } MiscellaneousVars[137]++; // Buff Overlay Timer 2 [Overlay Alpha] if (MiscellaneousVars[137] == 1 || MiscellaneousVars[137] == 35) msgalpha = 0.875; if (MiscellaneousVars[137] == 2 || MiscellaneousVars[137] == 34) msgalpha = 0.853; if (MiscellaneousVars[137] == 3 || MiscellaneousVars[137] == 33) msgalpha = 0.831; if (MiscellaneousVars[137] == 4 || MiscellaneousVars[137] == 32) msgalpha = 0.809; if (MiscellaneousVars[137] == 5 || MiscellaneousVars[137] == 31) msgalpha = 0.787; if (MiscellaneousVars[137] == 6 || MiscellaneousVars[137] == 30) msgalpha = 0.765; if (MiscellaneousVars[137] == 7 || MiscellaneousVars[137] == 29) msgalpha = 0.743; if (MiscellaneousVars[137] == 8 || MiscellaneousVars[137] == 28) msgalpha = 0.721; if (MiscellaneousVars[137] == 9 || MiscellaneousVars[137] == 27) msgalpha = 0.699; if (MiscellaneousVars[137] == 10 || MiscellaneousVars[137] == 26) msgalpha = 0.677; if (MiscellaneousVars[137] == 11 || MiscellaneousVars[137] == 25) msgalpha = 0.655; if (MiscellaneousVars[137] == 12 || MiscellaneousVars[137] == 24) msgalpha = 0.633; if (MiscellaneousVars[137] == 13 || MiscellaneousVars[137] == 23) msgalpha = 0.611; if (MiscellaneousVars[137] == 14 || MiscellaneousVars[137] == 22) msgalpha = 0.589; if (MiscellaneousVars[137] == 15 || MiscellaneousVars[137] == 21) msgalpha = 0.567; if (MiscellaneousVars[137] == 16 || MiscellaneousVars[137] == 20) msgalpha = 0.545; if (MiscellaneousVars[137] == 17 || MiscellaneousVars[137] == 19) msgalpha = 0.523; if (MiscellaneousVars[137] == 18) msgalpha = 0.501; if (MiscellaneousVars[137] >= 35) MiscellaneousVars[137] -= 34; msgalpha += 0.00; if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); // If using Invisiblity Spell, pulsate the alpha of the buff effect msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2287,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Night/Light-Vision Indicator [2288] if (PowerupTimer[0] > 0 && MiscellaneousVars[25001] > 0) { if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PD1"; else formtype = "PD1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PI1"; else formtype = "PI1"; } if (CharacterClass == 2) { if (PowerupTimer[7] > 0) formtype = "PF2"; else formtype = "PF1"; } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PA2"; else formtype = "PA1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PP2"; else formtype = "PP1"; } if (GetCVar("gl_enhanced_nightvision") == 0) formtype2 = "LGGI"; else formtype2 = "NGVI"; if (PowerupTimer[4] > 0) formtype3 = "2"; else formtype3 = "1"; fontname = StrParam(s:formtype,s:formtype2,s:formtype3); SetFont(fontname); msgalpha = 0.9; MiscellaneousVars[145]++; // Buff Overlay Timer 2 [Overlay Alpha] if (MiscellaneousVars[145] >= 40) MiscellaneousVars[145] = 0; if (MiscellaneousVars[145] >= 0 && MiscellaneousVars[145] <= 1) msgalpha = 0.70; if (MiscellaneousVars[145] >= 2 && MiscellaneousVars[145] <= 3 || MiscellaneousVars[145] >= 38 && MiscellaneousVars[145] <= 39) msgalpha = 0.73; if (MiscellaneousVars[145] >= 4 && MiscellaneousVars[145] <= 5 || MiscellaneousVars[145] >= 36 && MiscellaneousVars[145] <= 37) msgalpha = 0.76; if (MiscellaneousVars[145] >= 6 && MiscellaneousVars[145] <= 7 || MiscellaneousVars[145] >= 34 && MiscellaneousVars[145] <= 35) msgalpha = 0.79; if (MiscellaneousVars[145] >= 8 && MiscellaneousVars[145] <= 9 || MiscellaneousVars[145] >= 32 && MiscellaneousVars[145] <= 33) msgalpha = 0.82; if (MiscellaneousVars[145] >= 10 && MiscellaneousVars[145] <= 11 || MiscellaneousVars[145] >= 30 && MiscellaneousVars[145] <= 31) msgalpha = 0.85; if (MiscellaneousVars[145] >= 12 && MiscellaneousVars[145] <= 13 || MiscellaneousVars[145] >= 28 && MiscellaneousVars[145] <= 29) msgalpha = 0.88; if (MiscellaneousVars[145] >= 14 && MiscellaneousVars[145] <= 15 || MiscellaneousVars[145] >= 26 && MiscellaneousVars[145] <= 27) msgalpha = 0.91; if (MiscellaneousVars[145] >= 16 && MiscellaneousVars[145] <= 17 || MiscellaneousVars[145] >= 24 && MiscellaneousVars[145] <= 25) msgalpha = 0.94; if (MiscellaneousVars[145] >= 18 && MiscellaneousVars[145] <= 19 || MiscellaneousVars[145] >= 22 && MiscellaneousVars[145] <= 23) msgalpha = 0.97; if (MiscellaneousVars[145] >= 20 && MiscellaneousVars[145] <= 21) msgalpha = 1.0; if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); // If using Invisiblity Spell, pulsate the alpha of the buff effect msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2288,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Berserk Indicator [2289] int berserkveinframe = 0; MiscellaneousVars[455]++; if (MiscellaneousVars[455] >= 24) MiscellaneousVars[455] = 0; if (MiscellaneousVars[455] >= 0 & MiscellaneousVars[455] <= 2) berserkveinframe = 1; if (MiscellaneousVars[455] >= 3 & MiscellaneousVars[455] <= 5) berserkveinframe = 2; if (MiscellaneousVars[455] >= 6 & MiscellaneousVars[455] <= 8) berserkveinframe = 3; if (MiscellaneousVars[455] >= 9 & MiscellaneousVars[455] <= 11) berserkveinframe = 4; if (MiscellaneousVars[455] >= 12 & MiscellaneousVars[455] <= 14) berserkveinframe = 5; if (MiscellaneousVars[455] >= 15 & MiscellaneousVars[455] <= 17) berserkveinframe = 4; if (MiscellaneousVars[455] >= 18 & MiscellaneousVars[455] <= 20) berserkveinframe = 3; if (MiscellaneousVars[455] >= 21 & MiscellaneousVars[455] <= 23) berserkveinframe = 2; if (PowerupTimer[23] > 0 && MiscellaneousVars[25001] > 0) { formtype2 = "BER"; if (PowerupTimer[4] > 0) formtype3 = "2"; else formtype3 = "1"; if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PD1"; else formtype = "PD1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PI1"; else formtype = "PI1"; } if (CharacterClass == 2) { if (PowerupTimer[7] > 0) formtype = "PF2"; else formtype = "PF1"; } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PA2"; else formtype = "PA1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PP2"; else formtype = "PP1"; } fontname = StrParam(s:formtype,s:formtype2,s:formtype3,d:berserkveinframe); SetFont(fontname); msgalpha = 1.0; if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); // If using Invisiblity Spell, pulsate the alpha of the buff effect msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2289,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Spread Aura Indicator[s] [2290] int spreadauraframe = 0; int maxspreadauraframe; MiscellaneousVars[457]++; if (MiscellaneousVars[457] >= maxspreadauraframe) { MiscellaneousVars[457] = 0; maxspreadauraframe = Random(2,12) * 3; } if (MiscellaneousVars[457] == 0) spreadauraframe = 1; if (MiscellaneousVars[457] == 1) spreadauraframe = 2; if (MiscellaneousVars[457] == 2) spreadauraframe = 1; if (MiscellaneousVars[457] >= 3) spreadauraframe = 0; if ((PowerupTimer[8] > 0 || PowerupTimer[9] > 0) && MiscellaneousVars[25001] > 0) { if (PowerupTimer[9] > 0) { formtype2 = "SPR2"; if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PD1"; else formtype = "PD1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PI1"; else formtype = "PI1"; } if (CharacterClass == 2) { if (PowerupTimer[7] > 0) formtype = "PF2"; else formtype = "PF1"; } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PA2"; else formtype = "PA1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PP2"; else formtype = "PP1"; } fontname = StrParam(s:formtype,s:formtype2,d:spreadauraframe); SetFont(fontname); } else { formtype2 = "SPR1"; if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PD1"; else formtype = "PD1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PI1"; else formtype = "PI1"; } if (CharacterClass == 2) { if (PowerupTimer[7] > 0) formtype = "PF2"; else formtype = "PF1"; } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PA2"; else formtype = "PA1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PP2"; else formtype = "PP1"; } fontname = StrParam(s:formtype,s:formtype2,d:spreadauraframe); SetFont(fontname); } if (CharacterClass != 2) SetFont("PBLKIMG"); msgalpha = 1.0; if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); // If using Invisiblity Spell, pulsate the alpha of the buff effect msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2290,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //*********************************************** // Damage/Injury Overlays (Portraits) [2292-2315] //*********************************************** int injuryfaderatio; int injuryfadebasis; int injuryfadealpha; int injuryhealthratiobase; int injuryhealthmulti = 2; int injuryhealthdiv = 3; if (MiscellaneousVars[25001] > 0) { if (MaxHealthTrue != 0) HealthRatio = MiscellaneousVars[25001] * 1000 / MaxHealthTrue; if (debughud > 0) PrintBold(s:"\cyDivChecker:\c- MaxHealthTrue [3699] - ",d:MaxHealthTrue); if (CharacterClass == 2) { if (PowerupTimer[7] > 0) formtype = "F2"; else formtype = "F1"; if (PowerupTimer[4] > 0) formtype2 = "IVN"; else formtype2 = "NRM"; injuryhealthmulti = 2; injuryhealthdiv = 3; HUDMsgID = 2301; // Forehead Injury (both) (50% of health and lower) injuryhealthratiobase = 500; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "IJ1"; fontname = StrParam(s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3723] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } HUDMsgID += 1; // Cheek Injury (both) (34% of health and lower) injuryhealthratiobase = 340; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "IJ2"; fontname = StrParam(s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3745] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } HUDMsgID += 1; // Side of Face Injury (78% of health and lower) injuryhealthratiobase = 780; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "IJ3"; fontname = StrParam(s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3767] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } HUDMsgID += 1; // Left Shoulder Injury [2305] (45% of health and lower) injuryhealthratiobase = 450; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "IJ4"; fontname = StrParam(s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3789] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } HUDMsgID += 1; // Arm Scorch (Normal) / Breast Scorch (Divine Avatar) (89% of health and lower) injuryhealthratiobase = 890; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "IJ5"; fontname = StrParam (s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3811] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } HUDMsgID += 1; // Back Scorch (Normal) / Collarbone Bruise (Divine Avatar) (67% of health and lower) injuryhealthratiobase = 670; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "IJ6"; fontname = StrParam (s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3833] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } HUDMsgID += 1; // Back of Neck Bruise (Normal) / Right Shoulder Bruise (Divine Avatar) (23% of health and lower) injuryhealthratiobase = 230; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "IJ7"; fontname = StrParam (s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3855] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } HUDMsgID += 1; // Underarmor Blood Dress Stain (both) (56% of health and lower) injuryhealthratiobase = 560; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "IJ8"; fontname = StrParam (s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3877] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } injuryhealthmulti = 7; injuryhealthdiv = 8; HUDMsgID += 1; // Ribbon Scorch [small] (both) (50% of health and lower) injuryhealthratiobase = 500; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "RS1"; fontname = StrParam (s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3901] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } HUDMsgID += 1; // Ribbon Scorch [Big] (both) (75% of health and lower) injuryhealthratiobase = 750; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "RS2"; fontname = StrParam (s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3923] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } injuryhealthmulti = 6; injuryhealthdiv = 7; HUDMsgID += 1; // Dress (Breast) Scorch [Right side] (both) (62.5% of health and lower) injuryhealthratiobase = 625; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "DS1"; fontname = StrParam (s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3947] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } HUDMsgID += 1; // Dress (Back) Scorch (normal) / Dress (Breast) Scorch [Left side] (Divine Avatar) (33.3% of health and lower) injuryhealthratiobase = 625; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "DS2"; fontname = StrParam (s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3969] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } injuryhealthmulti = 1; injuryhealthdiv = 2; HUDMsgID += 1; // Front Hair Scorch (66.67% of health and lower) injuryhealthratiobase = 667; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "HS1"; fontname = StrParam (s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[3994] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } HUDMsgID += 1; // Back of Hair Scorch (87.5% of health and lower) injuryhealthratiobase = 875; if (HealthRatio <= injuryhealthratiobase) { dmgtype = "HS2"; fontname = StrParam (s:formtype,s:dmgtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; injuryfaderatio = 1.0 / ((injuryhealthratiobase * injuryhealthmulti) / injuryhealthdiv); injuryfadebasis = (-injuryhealthratiobase + HealthRatio); // 340 injuryfadealpha = (-injuryfaderatio * injuryfadebasis); if (injuryfadealpha < 0.00) injuryfadealpha = 0.00; if (injuryfadealpha > 1.00) injuryfadealpha = 1.00; msgalpha = FixedMul(msgalpha,injuryfadealpha); if (debughud2) PrintBold(s:"[4016] fontname: ",s:fontname,s:", injuryfadealpha: ",f:injuryfadealpha,s:", injuryfaderatio: ",f:injuryfaderatio,s:" injuryfadebasis: ",d:injuryfadebasis); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,HUDMsgID,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } // Tension Main Overlay (no damage marks included) [2315] int tenpulsetimer; if (MiscellaneousVars[25001] > 0 && MiscellaneousVars[181] > 0) { tenpulsetimer++; if (PowerupTimer[4] > 0) formtype2 = "TN2"; else formtype2 = "TNS"; if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PDEG1"; else formtype = "PDEG1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PILL1"; else formtype = "PILL1"; } if (CharacterClass == 2) { if (PowerupTimer[129] > 0) { if (PowerupTimer[7] > 0) formtype = "PFLO4"; else formtype = "PFLO3"; } else { if (PowerupTimer[7] > 0) formtype = "PFLO2"; else formtype = "PFLO1"; } } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PAIL2"; else formtype = "PAIL1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PPET2"; else formtype = "PPET1"; } fontname = StrParam(s:formtype,s:formtype2); SetFont(fontname); msgalpha = 1.0; // Check Mercy Invincibility if (MiscellaneousVars[194] > 0) { if (MiscellaneousVars[196] >= 0 && MiscellaneousVars[196] <= 29) msgalpha = FixedMul(msgalpha,0.25); if (MiscellaneousVars[196] >= 30 && MiscellaneousVars[196] <= 59) msgalpha = FixedMul(msgalpha,0.375); if (MiscellaneousVars[196] >= 60 && MiscellaneousVars[196] <= 89) msgalpha = FixedMul(msgalpha,0.50); if (MiscellaneousVars[196] >= 90 && MiscellaneousVars[196] <= 119) msgalpha = FixedMul(msgalpha,0.375); } // Check Tension Level int tensionalpha1; if (MiscellaneousVars[181] == 1) tensionalpha1 = 0.14; if (MiscellaneousVars[181] == 2) tensionalpha1 = 0.28; if (MiscellaneousVars[181] == 3) tensionalpha1 = 0.42; if (MiscellaneousVars[181] == 4) tensionalpha1 = 0.56; if (MiscellaneousVars[181] == 5) tensionalpha1 = 0.70; if (MiscellaneousVars[181] == 6) tensionalpha1 = 0.84; if (MiscellaneousVars[181] == 7) tensionalpha1 = 0.98; if ((tenpulsetimer % 32) == 0) tensionalpha1 = FixedMul(tensionalpha1,0.76); if ((tenpulsetimer % 32) == 1) tensionalpha1 = FixedMul(tensionalpha1,0.775); if ((tenpulsetimer % 32) == 2) tensionalpha1 = FixedMul(tensionalpha1,0.79); if ((tenpulsetimer % 32) == 3) tensionalpha1 = FixedMul(tensionalpha1,0.805); if ((tenpulsetimer % 32) == 4) tensionalpha1 = FixedMul(tensionalpha1,0.82); if ((tenpulsetimer % 32) == 5) tensionalpha1 = FixedMul(tensionalpha1,0.835); if ((tenpulsetimer % 32) == 6) tensionalpha1 = FixedMul(tensionalpha1,0.85); if ((tenpulsetimer % 32) == 7) tensionalpha1 = FixedMul(tensionalpha1,0.865); if ((tenpulsetimer % 32) == 8) tensionalpha1 = FixedMul(tensionalpha1,0.88); if ((tenpulsetimer % 32) == 9) tensionalpha1 = FixedMul(tensionalpha1,0.895); if ((tenpulsetimer % 32) == 10) tensionalpha1 = FixedMul(tensionalpha1,0.91); if ((tenpulsetimer % 32) == 11) tensionalpha1 = FixedMul(tensionalpha1,0.925); if ((tenpulsetimer % 32) == 12) tensionalpha1 = FixedMul(tensionalpha1,0.94); if ((tenpulsetimer % 32) == 13) tensionalpha1 = FixedMul(tensionalpha1,0.955); if ((tenpulsetimer % 32) == 14) tensionalpha1 = FixedMul(tensionalpha1,0.97); if ((tenpulsetimer % 32) == 15) tensionalpha1 = FixedMul(tensionalpha1,0.985); if ((tenpulsetimer % 32) == 16) tensionalpha1 = FixedMul(tensionalpha1,1.00); if ((tenpulsetimer % 32) == 17) tensionalpha1 = FixedMul(tensionalpha1,0.985); if ((tenpulsetimer % 32) == 18) tensionalpha1 = FixedMul(tensionalpha1,0.97); if ((tenpulsetimer % 32) == 19) tensionalpha1 = FixedMul(tensionalpha1,0.955); if ((tenpulsetimer % 32) == 20) tensionalpha1 = FixedMul(tensionalpha1,0.94); if ((tenpulsetimer % 32) == 21) tensionalpha1 = FixedMul(tensionalpha1,0.925); if ((tenpulsetimer % 32) == 22) tensionalpha1 = FixedMul(tensionalpha1,0.91); if ((tenpulsetimer % 32) == 23) tensionalpha1 = FixedMul(tensionalpha1,0.895); if ((tenpulsetimer % 32) == 24) tensionalpha1 = FixedMul(tensionalpha1,0.88); if ((tenpulsetimer % 32) == 25) tensionalpha1 = FixedMul(tensionalpha1,0.865); if ((tenpulsetimer % 32) == 26) tensionalpha1 = FixedMul(tensionalpha1,0.85); if ((tenpulsetimer % 32) == 27) tensionalpha1 = FixedMul(tensionalpha1,0.835); if ((tenpulsetimer % 32) == 28) tensionalpha1 = FixedMul(tensionalpha1,0.82); if ((tenpulsetimer % 32) == 28) tensionalpha1 = FixedMul(tensionalpha1,0.805); if ((tenpulsetimer % 32) == 29) tensionalpha1 = FixedMul(tensionalpha1,0.79); if ((tenpulsetimer % 32) == 30) tensionalpha1 = FixedMul(tensionalpha1,0.775); if ((tenpulsetimer % 32) == 31) tensionalpha1 = FixedMul(tensionalpha1,0.76); msgalpha = FixedMul(msgalpha,tensionalpha1); // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2315,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { tenpulsetimer = 0; } //******************************* // Main Character Portrait [2316] //******************************* if (MiscellaneousVars[25001] <= 0) // If dead, show a coffin portrait :V { SetFont("PCOF1NRM"); } else { if (PowerupTimer[4] > 0) formtype2 = "INV"; else formtype2 = "NRM"; if (CharacterClass == 0) { if (PowerupTimer[7] > 0) formtype = "PDEG1"; else formtype = "PDEG1"; } if (CharacterClass == 1) { if (PowerupTimer[7] > 0) formtype = "PILL1"; else formtype = "PILL1"; } if (CharacterClass == 2) { if (PowerupTimer[129] > 0) { if (PowerupTimer[7] > 0) formtype = "PFLO4"; else formtype = "PFLO3"; } else { if (PowerupTimer[7] > 0) formtype = "PFLO2"; else formtype = "PFLO1"; } } if (CharacterClass == 8) { if (PowerupTimer[7] > 0) formtype = "PAIL2"; else formtype = "PAIL1"; } if (CharacterClass == 9) { if (PowerupTimer[7] > 0) formtype = "PPET2"; else formtype = "PPET1"; } fontname = StrParam(s:formtype,s:formtype2); SetFont(fontname); } msgalpha = 1.0; // Check Mercy Invincibility if (MiscellaneousVars[194] > 0) { if (MiscellaneousVars[196] >= 0 && MiscellaneousVars[196] <= 29) msgalpha = FixedMul(msgalpha,0.25); if (MiscellaneousVars[196] >= 30 && MiscellaneousVars[196] <= 59) msgalpha = FixedMul(msgalpha,0.375); if (MiscellaneousVars[196] >= 60 && MiscellaneousVars[196] <= 89) msgalpha = FixedMul(msgalpha,0.50); if (MiscellaneousVars[196] >= 90 && MiscellaneousVars[196] <= 119) msgalpha = FixedMul(msgalpha,0.375); } // If Invisible, pulsate the Alpha of the portrait if (PowerupTimer[1] > 0) msgalpha = FixedMul(msgalpha,MiscFixedVars[101]); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2316,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Portrait Edges [2317] SetFont("PORTEMPT"); msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2317,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Tension Background [portrait] [2318] if (MiscellaneousVars[181] > 0) { MiscellaneousVars[453]++; if (MiscellaneousVars[181] >= 1 && MiscellaneousVars[181] <= 2) { if (MiscellaneousVars[453] >= 16) MiscellaneousVars[453] = 0; if (MiscellaneousVars[453] >= 0 && MiscellaneousVars[453] <= 3) SetFont("PORTTE21"); if (MiscellaneousVars[453] >= 4 && MiscellaneousVars[453] <= 7) SetFont("PORTTE22"); if (MiscellaneousVars[453] >= 8 && MiscellaneousVars[453] <= 11) SetFont("PORTTE23"); if (MiscellaneousVars[453] >= 12 && MiscellaneousVars[453] <= 15) SetFont("PORTTE24"); } if (MiscellaneousVars[181] >= 3 && MiscellaneousVars[181] <= 4) { if (MiscellaneousVars[453] >= 12) MiscellaneousVars[453] = 0; if (MiscellaneousVars[453] >= 0 && MiscellaneousVars[453] <= 2) SetFont("PORTTE21"); if (MiscellaneousVars[453] >= 3 && MiscellaneousVars[453] <= 5) SetFont("PORTTE22"); if (MiscellaneousVars[453] >= 6 && MiscellaneousVars[453] <= 8) SetFont("PORTTE23"); if (MiscellaneousVars[453] >= 9 && MiscellaneousVars[453] <= 11) SetFont("PORTTE24"); } if (MiscellaneousVars[181] >= 5 && MiscellaneousVars[181] <= 6) { if (MiscellaneousVars[453] >= 8) MiscellaneousVars[453] = 0; if (MiscellaneousVars[453] >= 0 && MiscellaneousVars[453] <= 1) SetFont("PORTTE21"); if (MiscellaneousVars[453] >= 2 && MiscellaneousVars[453] <= 3) SetFont("PORTTE22"); if (MiscellaneousVars[453] >= 4 && MiscellaneousVars[453] <= 5) SetFont("PORTTE23"); if (MiscellaneousVars[453] >= 6 && MiscellaneousVars[453] <= 7) SetFont("PORTTE24"); } if (MiscellaneousVars[181] >= 7) { if (MiscellaneousVars[453] >= 4) MiscellaneousVars[453] = 0; if (MiscellaneousVars[453] == 0) SetFont("PORTTE21"); if (MiscellaneousVars[453] == 1) SetFont("PORTTE22"); if (MiscellaneousVars[453] == 2) SetFont("PORTTE23"); if (MiscellaneousVars[453] == 3) SetFont("PORTTE24"); } msgalpha = 0.875; MiscellaneousVars[454]++; if (MiscellaneousVars[454] == 1 || MiscellaneousVars[454] == 35) msgalpha = 0.875; if (MiscellaneousVars[454] == 2 || MiscellaneousVars[454] == 34) msgalpha = 0.864; if (MiscellaneousVars[454] == 3 || MiscellaneousVars[454] == 33) msgalpha = 0.855; if (MiscellaneousVars[454] == 4 || MiscellaneousVars[454] == 32) msgalpha = 0.846; if (MiscellaneousVars[454] == 5 || MiscellaneousVars[454] == 31) msgalpha = 0.837; if (MiscellaneousVars[454] == 6 || MiscellaneousVars[454] == 30) msgalpha = 0.828; if (MiscellaneousVars[454] == 7 || MiscellaneousVars[454] == 29) msgalpha = 0.819; if (MiscellaneousVars[454] == 8 || MiscellaneousVars[454] == 28) msgalpha = 0.810; if (MiscellaneousVars[454] == 9 || MiscellaneousVars[454] == 27) msgalpha = 0.801; if (MiscellaneousVars[454] == 10 || MiscellaneousVars[454] == 26) msgalpha = 0.792; if (MiscellaneousVars[454] == 11 || MiscellaneousVars[454] == 25) msgalpha = 0.783; if (MiscellaneousVars[454] == 12 || MiscellaneousVars[454] == 24) msgalpha = 0.774; if (MiscellaneousVars[454] == 13 || MiscellaneousVars[454] == 23) msgalpha = 0.765; if (MiscellaneousVars[454] == 14 || MiscellaneousVars[454] == 22) msgalpha = 0.756; if (MiscellaneousVars[454] == 15 || MiscellaneousVars[454] == 21) msgalpha = 0.747; if (MiscellaneousVars[454] == 16 || MiscellaneousVars[454] == 20) msgalpha = 0.738; if (MiscellaneousVars[454] == 17 || MiscellaneousVars[454] == 19) msgalpha = 0.729; if (MiscellaneousVars[454] == 18) msgalpha = 0.720; if (MiscellaneousVars[454] >= 35) MiscellaneousVars[454] -= 34; if (MiscellaneousVars[181] == 1) msgalpha = FixedMul(msgalpha,0.70); if (MiscellaneousVars[181] == 2) msgalpha = FixedMul(msgalpha,0.75); if (MiscellaneousVars[181] == 3) msgalpha = FixedMul(msgalpha,0.80); if (MiscellaneousVars[181] == 4) msgalpha = FixedMul(msgalpha,0.85); if (MiscellaneousVars[181] == 5) msgalpha = FixedMul(msgalpha,0.90); if (MiscellaneousVars[181] == 6) msgalpha = FixedMul(msgalpha,0.95); if (MiscellaneousVars[181] == 7) msgalpha = FixedMul(msgalpha,1.00); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2318,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Red Glow (critical health) [portrait] [2319] if (MaxHealthTrue != 0) HealthRatio = MiscellaneousVars[25001] * 1000 / MaxHealthTrue; if (debughud > 0) PrintBold(s:"\cyDivChecker:\c- MaxHealthTrue [4255] - ",d:MaxHealthTrue); if (HealthRatio <= 100) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("PORTCRTH"); HudMessage(s:"A";HUDMSG_ALPHA,2319,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Normal Frame Background [portrait] [2320] msgalpha = 0.8; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("PORTNRMH"); if (CharacterClass == 0) SetFont("PORTNRMD"); if (CharacterClass == 1) SetFont("PORTNRMI"); if (CharacterClass == 2) SetFont("PORTNRMF"); if (CharacterClass == 8) SetFont("PORTNRMA"); if (CharacterClass == 9) SetFont("PORTNRMP"); HudMessage(s:"A";HUDMSG_ALPHA,2320,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); //******************************** //* Quickspell Bar [2321 to 2365]* //******************************** if (GetCVar("dvdshud_showquickspells") > 0) { for (HUDMsgIDAdd = 0; HUDMsgIDAdd < 10; HUDMsgIDAdd ++) { //************************ //*Text/Costs [2321-2331]* //************************ if (HUDMsgIDAdd == 0) { xpos = ScreenXOffset + 80.0 + 0.2; ypos = ScreenYOffset + 1049.0; } if (HUDMsgIDAdd == 1) { xpos = ScreenXOffset + 139.0 + 0.2; ypos = ScreenYOffset + 1049.0; } if (HUDMsgIDAdd == 2) { xpos = ScreenXOffset + 198.0 + 0.2; ypos = ScreenYOffset + 1049.0; } if (HUDMsgIDAdd == 3) { xpos = ScreenXOffset + 257.0 + 0.2; ypos = ScreenYOffset + 1049.0; } if (HUDMsgIDAdd == 4) { xpos = ScreenXOffset + 316.0 + 0.2; ypos = ScreenYOffset + 1049.0; } if (HUDMsgIDAdd == 5) { xpos = ScreenXOffset + 375.0 + 0.2; ypos = ScreenYOffset + 1049.0; } if (HUDMsgIDAdd == 6) { xpos = ScreenXOffset + 434.0 + 0.2; ypos = ScreenYOffset + 1049.0; } if (HUDMsgIDAdd == 7) { xpos = ScreenXOffset + 493.0 + 0.2; ypos = ScreenYOffset + 1049.0; } if (HUDMsgIDAdd == 8) { xpos = ScreenXOffset + 552.0 + 0.2; ypos = ScreenYOffset + 1049.0; } if (HUDMsgIDAdd == 9) { xpos = ScreenXOffset + 611.0 + 0.2; ypos = ScreenYOffset + 1049.0; } if (xpos < 0.0) xpos -= 0.4; SetFont("DQHUDFONTSTATUS"); CostOfSpell = MiscellaneousVars[(2990+HUDMsgIDAdd)]; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); if (ReadiedSpells[HUDMsgIDAdd] != 0) { HudMessage(d:CostOfSpell;HUDMSG_ALPHA,2321+HUDMsgIDAdd,cr_lightblue,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { HudMessage(s:"N/A";HUDMSG_ALPHA,2321+HUDMsgIDAdd,cr_lightblue,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //******************************************* //*Spell Bind Key (left-aligned) [2332-2343]* //******************************************* if (HUDMsgIDAdd == 0) { xpos = ScreenXOffset + 20.0 + 0.1; ypos = ScreenYOffset + 1000.0; } if (HUDMsgIDAdd == 1) { xpos = ScreenXOffset + 79.0 + 0.1; ypos = ScreenYOffset + 1000.0; } if (HUDMsgIDAdd == 2) { xpos = ScreenXOffset + 139.0 + 0.1; ypos = ScreenYOffset + 1000.0; } if (HUDMsgIDAdd == 3) { xpos = ScreenXOffset + 197.0 + 0.1; ypos = ScreenYOffset + 1000.0; } if (HUDMsgIDAdd == 4) { xpos = ScreenXOffset + 256.0 + 0.1; ypos = ScreenYOffset + 1000.0; } if (HUDMsgIDAdd == 5) { xpos = ScreenXOffset + 315.0 + 0.1; ypos = ScreenYOffset + 1000.0; } if (HUDMsgIDAdd == 6) { xpos = ScreenXOffset + 374.0 + 0.1; ypos = ScreenYOffset + 1000.0; } if (HUDMsgIDAdd == 7) { xpos = ScreenXOffset + 433.0 + 0.1; ypos = ScreenYOffset + 1000.0; } if (HUDMsgIDAdd == 8) { xpos = ScreenXOffset + 492.0 + 0.1; ypos = ScreenYOffset + 1000.0; } if (HUDMsgIDAdd == 9) { xpos = ScreenXOffset + 551.0 + 0.1; ypos = ScreenYOffset + 1000.0; } if (xpos < 0.0) xpos -= 0.2; if (HUDMsgIDAdd+1 == 1) Keyname = "pukename SpellQuickAssign 0"; if (HUDMsgIDAdd+1 == 2) Keyname = "pukename SpellQuickAssign 1"; if (HUDMsgIDAdd+1 == 3) Keyname = "pukename SpellQuickAssign 2"; if (HUDMsgIDAdd+1 == 4) Keyname = "pukename SpellQuickAssign 3"; if (HUDMsgIDAdd+1 == 5) Keyname = "pukename SpellQuickAssign 4"; if (HUDMsgIDAdd+1 == 6) Keyname = "pukename SpellQuickAssign 5"; if (HUDMsgIDAdd+1 == 7) Keyname = "pukename SpellQuickAssign 6"; if (HUDMsgIDAdd+1 == 8) Keyname = "pukename SpellQuickAssign 7"; if (HUDMsgIDAdd+1 == 9) Keyname = "pukename SpellQuickAssign 8"; if (HUDMsgIDAdd+1 == 10) Keyname = "pukename SpellQuickAssign 9"; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(k:Keyname;HUDMSG_ALPHA,2332+HUDMsgIDAdd,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); //******************* //*Icons [2343-2364]* //******************* if (HUDMsgIDAdd == 0) { xpos = ScreenXOffset + 55.0; ypos = ScreenYOffset + 1023.0; } if (HUDMsgIDAdd == 1) { xpos = ScreenXOffset + 114.0; ypos = ScreenYOffset + 1023.0; } if (HUDMsgIDAdd == 2) { xpos = ScreenXOffset + 173.0; ypos = ScreenYOffset + 1023.0; } if (HUDMsgIDAdd == 3) { xpos = ScreenXOffset + 232.0; ypos = ScreenYOffset + 1023.0; } if (HUDMsgIDAdd == 4) { xpos = ScreenXOffset + 291.0; ypos = ScreenYOffset + 1023.0; } if (HUDMsgIDAdd == 5) { xpos = ScreenXOffset + 350.0; ypos = ScreenYOffset + 1023.0; } if (HUDMsgIDAdd == 6) { xpos = ScreenXOffset + 409.0; ypos = ScreenYOffset + 1023.0; } if (HUDMsgIDAdd == 7) { xpos = ScreenXOffset + 468.0; ypos = ScreenYOffset + 1023.0; } if (HUDMsgIDAdd == 8) { xpos = ScreenXOffset + 527.0; ypos = ScreenYOffset + 1023.0; } if (HUDMsgIDAdd == 9) { xpos = ScreenXOffset + 586.0; ypos = ScreenYOffset + 1023.0; } if (ReadiedSpells[HUDMsgIDAdd] != 0) { CostOfSpell = MiscellaneousVars[(2990+HUDMsgIDAdd)]; //********************************** //*Not Enough Mana Icon [2343-2353]* //********************************** // Mana Cost Check tempvar1 = 2011+HUDMsgIDAdd; if (CurrentMana < CostOfSpell) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.735; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.705; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.675; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.645; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.615; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.585; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.555; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.525; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.495; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] = 1; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("SPLINOUS"); HudMessage(s:"A";HUDMSG_ALPHA,2343+HUDMsgIDAdd,cr_red,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Not Enough Mana } else { MiscellaneousVars[tempvar1] = 0; } //****************************** //*QuickSpell Icons [2354-2364]* //****************************** if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 0) // (Minor Magic Missile) Level 0 { if (buttons & BT_ZOOM) SetFont("SPLIMAS1"); else SetFont("SPLIMAM1"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 1) // (Minor Healing) Level 0 { if (buttons & BT_ZOOM) SetFont("SPLIHEA4"); else SetFont("SPLIHEA1"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 2) SetFont("SPLINGV1"); // (Minor Night Vision) Level 1 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 3) SetFont("SPLICHL1"); // (Chill Touch) Level 1 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 4) SetFont("SPLIIVS1"); // (Minor Invisibility) Level 2 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 5) SetFont("SPLIFLI1"); // (Minor Flight) Level 2 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 6) SetFont("SPLIPSC1"); // (Minor Poison Cloud) Level 3 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 7) // (Minor Fireball) Level 4 { if (buttons & BT_ZOOM) SetFont("SPLIFBS1"); else SetFont("SPLIFBL1"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 8) SetFont("SPLIENST"); // (Enhanced Strength) Level 5 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 9) // (Minor Ice Blast) Level 6 { if (buttons & BT_ZOOM) SetFont("SPLIICS1"); else SetFont("SPLIICB1"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 10) SetFont("SPLISUM1"); // (Summon Weak Monster) Level 7 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 11) // (Magic Missile) Level 7 { if (buttons & BT_ZOOM) SetFont("SPLIMAS2"); else SetFont("SPLIMAM2"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 12) // (Fireball) Level 8 { if (buttons & BT_ZOOM) SetFont("SPLIFBS2"); else SetFont("SPLIFBL2"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 13) SetFont("SPLIGLY1"); // (Explosive Glyph) Level 9 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 14) // (Healing) Level 9 { if (buttons & BT_ZOOM) SetFont("SPLIHEA5"); else SetFont("SPLIHEA2"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 15) { if (Characterclass == 9) SetFont("SPLIDEDA"); else SetFont("SPLINVFR");} // (Fireball Nova) or Desperado Damsel [Petra Only] Level 10 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 16) SetFont("SPLIOMPH"); // (Attack Booster) Level 11 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 17) SetFont("SPLIRAS1"); // (Minor Raging Spirits) Level 11 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 18) SetFont("SPLIIVS2"); // (Invisibility) Level 11 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 19) SetFont("SPLIACRA"); // (Acid Rain) Level 12 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 20) SetFont("SPLIFRA1"); // (Minor Terrorization Aura) Level 12 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 21) SetFont("SPLINGV2"); // (Night-Vision) Level 13 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 22) SetFont("SPLIFLI2"); // (Flight) Level 13 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 23) // (Major Magic Missile) Level 14 { if (buttons & BT_ZOOM) SetFont("SPLIMAS3"); else SetFont("SPLIMAM3"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 24) SetFont("SPLISUM2"); // (Summon Monster) Level 15 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 25) SetFont("SPLINVIC"); // (Icy Nova) Level 16 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 26) SetFont("SPLIPSC2"); // (Poison Cloud) Level 16 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 27) SetFont("SPLILGN1"); // (Minor Lightning) Level 17 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 28) SetFont("SPLISTSK"); // (Stone Skin) Level 18 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 29) // (Major Healing) Level 18 { if (buttons & BT_ZOOM) SetFont("SPLIHEA6"); else SetFont("SPLIHEA3"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 30) SetFont("SPLINGV3"); // (Major Night-Vision) Level 19 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 31) // (Ice Blast) Level 20 { if (buttons & BT_ZOOM) SetFont("SPLIICS2"); else SetFont("SPLIICB2"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 32) SetFont("SPLIFARS"); // (Farsight) Level 20 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 33) SetFont("SPLINVLG"); // (Lightning Nova) Level 20 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 34) SetFont("SPLITMF1"); // (Minor Time Freezer) Level 21 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 35) SetFont("SPLIBUFF"); // (Defense Booster) Level 21 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 36) SetFont("SPLIIVS3"); // (Major Invisibility) Level 21 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 37) SetFont("SPLIFLI3"); // (Major Flight) Level 21 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 38) SetFont("SPLILGN2"); // (Lightning) Level 22 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 39) SetFont("SPLISUM3"); // (Summon Strong Monster) Level 23 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 40) // (Diamond Skin) [Deggaris/Illucia] or (Spreader Aura Lv. 1) [Flora] Level 24 { if (CharacterClass == 2) SetFont("SPLISRA1"); else SetFont("SPLIDISK"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 41) // (Major Fireball) Level 25 { if (buttons & BT_ZOOM) SetFont("SPLIFBS3"); else SetFont("SPLIFBL3"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 42) // (Major Ice Blast) Level 25 { if (buttons & BT_ZOOM) SetFont("SPLIICS3"); else SetFont("SPLIICB3"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 43) SetFont("SPLIPSC3"); // (Major Poison Cloud) Level 25 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 44) SetFont("SPLILGN3"); // (Major Lightning) Level 25 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 45) SetFont("SPLIIVNR"); // (Invulnerability) Level 26 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 46) SetFont("SPLIACEL"); // (Speed Booster) Level 26 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 47) SetFont("SPLIRAS2"); // (Raging Spirits) Level 27 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 48) SetFont("SPLISUM4"); // (Summon Arch-Vile) Level 28 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 49) // (Ultra Magic Missile) Level 29 { if (buttons & BT_ZOOM) SetFont("SPLIMAS4"); else SetFont("SPLIMAM4"); } if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 50) SetFont("SPLITMF2"); // (Time Freezer) Level 30 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 51) SetFont("SPLIFRA2"); // (Terrorization Aura) Level 30 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 52) SetFont("SPLICRLA"); // (Create Lotso Ammo) Level 30 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 53) SetFont("SPLIDVAV"); // (Divine Avatar) Level 31 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 54) SetFont("SPLISUM5"); // (Summon Cyberdemon) Level 31 if ((ReadiedSpells[HUDMsgIDAdd] - 1) == 55) SetFont("SPLISRA2"); // (Spreader Aura Lv. 2) Level 56 [Flora Only] msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2354+HUDMsgIDAdd,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { SetFont("SPLINONE"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2354+HUDMsgIDAdd,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } //**************************** //*QuickSpell Box Type [2365]* //**************************** xpos = ScreenXOffset + 320.0; ypos = ScreenYOffset + 1025.0; if (CharacterClass == 0) SetFont("QKSPLDEG"); if (CharacterClass == 1) SetFont("QKSPLILL"); if (CharacterClass == 2) SetFont("QKSPLFLO"); if (CharacterClass == 8) SetFont("QKSPLAIL"); if (CharacterClass == 9) SetFont("QKSPLPET"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2365,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //**************************** //**Spell Box [2371 to 2379]** //**************************** // 2371 - Spell Cost [Spell Box] // 2372 - Spell "<" Button [Spell Box] // 2373 - Spell ">" Button [Spell Box] // 2374 - Spell "Left" Button [Spell Box] // 2375 - Spell "Right" Button [Spell Box] // 2376 - Spell "Use" Button [Spell Box] // 2377 - Icon Shown on Spell Box [Spell Box] // 2378 - Current Spell Icon [Spell Box] // 2379 - Spell Style Box [Spell Box] // Spell Cost xpos = ScreenXOffset + 587.0; ypos = ScreenYOffset + 792.0; // 792.0 SetFont("DQHUDFONTSTATUS"); CostOfSpell = MiscellaneousVars[2989]; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:CostOfSpell;HUDMSG_ALPHA,2371,cr_lightblue,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Not Enough Mana SetFont("DQHUDFONTSTATUS"); // Spell "<" Button xpos = ScreenXOffset + 536.0; ypos = ScreenYOffset + 786.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"<";HUDMSG_ALPHA,2372,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Spell ">" Button xpos = ScreenXOffset + 634.0; ypos = ScreenYOffset + 786.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:">";HUDMSG_ALPHA,2373,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Spell "Left" Button xpos = ScreenXOffset + 543.0 + 0.2; // 543.2 if (xpos < 0.0) xpos -= 0.4; ypos = ScreenYOffset + 763.0; // 761.0 Keyname = "pukename SpellSelection 0"; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(k:Keyname;HUDMSG_ALPHA,2374,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Spell "Right" Button xpos = ScreenXOffset + 629.0 + 0.1; // 629.1 if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 763.0; // 761.0 Keyname = "pukename SpellSelection 1"; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(k:Keyname;HUDMSG_ALPHA,2375,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Spell "Use" Button xpos = ScreenXOffset + 585.0; // 585.0 ypos = ScreenYOffset + 820.0; // 820.0 Keyname = "+dvds_castspell"; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(k:Keyname;HUDMSG_ALPHA,2376,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Icon Shown on Spell Box xpos = ScreenXOffset + 587.0; // 587.0 ypos = ScreenYOffset + 768.0; // 768.0 SetFont("SPLINONE"); CostOfSpell = MiscellaneousVars[2989]; tempvar1 = 2010; if (CurrentMana < CostOfSpell) { msgalpha = 0.75; MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.735; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.705; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.675; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.645; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.615; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.585; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.555; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.525; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.495; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] = 1; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("SPLINOUS"); HudMessage(s:"A";HUDMSG_ALPHA,2377,cr_red,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Not Enough Mana } else { MiscellaneousVars[tempvar1] = 0; } if (SelectedSpell == 0) // (Minor Magic Missile) Level 0 { if (buttons & BT_ZOOM) SetFont("SPLIMAS1"); else SetFont("SPLIMAM1"); } if (SelectedSpell == 1) // (Minor Healing) Level 0 { if (buttons & BT_ZOOM) SetFont("SPLIHEA4"); else SetFont("SPLIHEA1"); } if (SelectedSpell == 2) SetFont("SPLINGV1"); // (Minor Night Vision) Level 1 if (SelectedSpell == 3) SetFont("SPLICHL1"); // (Chill Touch) Level 1 if (SelectedSpell == 4) SetFont("SPLIIVS1"); // (Minor Invisibility) Level 2 if (SelectedSpell == 5) SetFont("SPLIFLI1"); // (Minor Flight) Level 2 if (SelectedSpell == 6) SetFont("SPLIPSC1"); // (Minor Poison Cloud) Level 3 if (SelectedSpell == 7) // (Minor Fireball) Level 4 { if (buttons & BT_ZOOM) SetFont("SPLIFBS1"); else SetFont("SPLIFBL1"); } if (SelectedSpell == 8) SetFont("SPLIENST"); // (Enhanced Strength) Level 5 if (SelectedSpell == 9) // (Minor Ice Blast) Level 6 { if (buttons & BT_ZOOM) SetFont("SPLIICS1"); else SetFont("SPLIICB1"); } if (SelectedSpell == 10) SetFont("SPLISUM1"); // (Summon Weak Monster) Level 7 if (SelectedSpell == 11) // (Magic Missile) Level 7 { if (buttons & BT_ZOOM) SetFont("SPLIMAS2"); else SetFont("SPLIMAM2"); } if (SelectedSpell == 12) // (Fireball) Level 8 { if (buttons & BT_ZOOM) SetFont("SPLIFBS2"); else SetFont("SPLIFBL2"); } if (SelectedSpell == 13) SetFont("SPLIGLY1"); // (Explosive Glyph) Level 9 if (SelectedSpell == 14) // (Healing) Level 9 { if (buttons & BT_ZOOM) SetFont("SPLIHEA5"); else SetFont("SPLIHEA2"); } if (SelectedSpell == 15) { if (Characterclass == 9) SetFont("SPLIDEDA"); else SetFont("SPLINVFR"); } // (Fireball Nova) or Desperado Damsel [Petra Only] Level 10 if (SelectedSpell == 16) SetFont("SPLIOMPH"); // (Attack Booster) Level 11 if (SelectedSpell == 17) SetFont("SPLIRAS1"); // (Minor Raging Spirits) Level 11 if (SelectedSpell == 18) SetFont("SPLIIVS2"); // (Invisibility) Level 11 if (SelectedSpell == 19) SetFont("SPLIACRA"); // (Acid Rain) Level 12 if (SelectedSpell == 20) SetFont("SPLIFRA1"); // (Minor Terrorization Aura) Level 12 if (SelectedSpell == 21) SetFont("SPLINGV2"); // (Night-Vision) Level 13 if (SelectedSpell == 22) SetFont("SPLIFLI2"); // (Flight) Level 13 if (SelectedSpell == 23) // (Major Magic Missile) Level 14 { if (buttons & BT_ZOOM) SetFont("SPLIMAS3"); else SetFont("SPLIMAM3"); } if (SelectedSpell == 24) SetFont("SPLISUM2"); // (Summon Monster) Level 15 if (SelectedSpell == 25) SetFont("SPLINVIC"); // (Icy Nova) Level 16 if (SelectedSpell == 26) SetFont("SPLIPSC2"); // (Poison Cloud) Level 16 if (SelectedSpell == 27) SetFont("SPLILGN1"); // (Minor Lightning) Level 17 if (SelectedSpell == 28) SetFont("SPLISTSK"); // (Stone Skin) Level 18 if (SelectedSpell == 29) // (Major Healing) Level 18 { if (buttons & BT_ZOOM) SetFont("SPLIHEA6"); else SetFont("SPLIHEA3"); } if (SelectedSpell == 30) SetFont("SPLINGV3"); // (Major Night-Vision) Level 19 if (SelectedSpell == 31) // (Ice Blast) Level 20 { if (buttons & BT_ZOOM) SetFont("SPLIICS2"); else SetFont("SPLIICB2"); } if (SelectedSpell == 32) SetFont("SPLIFARS"); // (Farsight) Level 20 if (SelectedSpell == 33) SetFont("SPLINVLG"); // (Lightning Nova) Level 20 if (SelectedSpell == 34) SetFont("SPLITMF1"); // (Minor Time Freezer) Level 21 if (SelectedSpell == 35) SetFont("SPLIBUFF"); // (Defense Booster) Level 21 if (SelectedSpell == 36) SetFont("SPLIIVS3"); // (Major Invisibility) Level 21 if (SelectedSpell == 37) SetFont("SPLIFLI3"); // (Major Flight) Level 21 if (SelectedSpell == 38) SetFont("SPLILGN2"); // (Lightning) Level 22 if (SelectedSpell == 39) SetFont("SPLISUM3"); // (Summon Strong Monster) Level 23 if (SelectedSpell == 40) // (Diamond Skin) [Deggaris/Illucia] or (Spreader Aura Lv. 1) [Flora] Level 24 { if (CharacterClass == 2) SetFont("SPLISRA1"); else SetFont("SPLIDISK"); } if (SelectedSpell == 41) // (Major Fireball) Level 25 { if (buttons & BT_ZOOM) SetFont("SPLIFBS3"); else SetFont("SPLIFBL3"); } if (SelectedSpell == 42) // (Major Ice Blast) Level 25 { if (buttons & BT_ZOOM) SetFont("SPLIICS3"); else SetFont("SPLIICB3"); } if (SelectedSpell == 43) SetFont("SPLIPSC3"); // (Major Poison Cloud) Level 25 if (SelectedSpell == 44) SetFont("SPLILGN3"); // (Major Lightning) Level 25 if (SelectedSpell == 45) SetFont("SPLIIVNR"); // (Invulnerability) Level 26 if (SelectedSpell == 46) SetFont("SPLIACEL"); // (Speed Booster) Level 26 if (SelectedSpell == 47) SetFont("SPLIRAS2"); // (Raging Spirits) Level 27 if (SelectedSpell == 48) SetFont("SPLISUM4"); // (Summon Arch-Vile) Level 28 if (SelectedSpell == 49) // (Ultra Magic Missile) Level 29 { if (buttons & BT_ZOOM) SetFont("SPLIMAS4"); else SetFont("SPLIMAM4"); } if (SelectedSpell == 50) SetFont("SPLITMF2"); // (Time Freezer) Level 30 if (SelectedSpell == 51) SetFont("SPLIFRA2"); // (Terrorization Aura) Level 30 if (SelectedSpell == 52) SetFont("SPLICRLA"); // (Create Lotso Ammo) Level 30 if (SelectedSpell == 53) SetFont("SPLIDVAV"); // (Divine Avatar) Level 31 if (SelectedSpell == 54) SetFont("SPLISUM5"); // (Summon Cyberdemon) Level 31 if (SelectedSpell == 55) SetFont("SPLISRA2"); // (Spreader Aura Lv. 2) Level 56 [Flora Only] msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2378,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); //PrintBold(d:CurrentMana,s:" / ",d:CostOfSpell); // Spell Box xpos = ScreenXOffset + 586.0; // 586.0; ypos = ScreenYOffset + 770.0; // 789.0; if (CharacterClass == 0) SetFont("SPLBXDEG"); if (CharacterClass == 1) SetFont("SPLBXILL"); if (CharacterClass == 2) SetFont("SPLBXFLO"); if (CharacterClass == 8) SetFont("SPLBXAIL"); if (CharacterClass == 9) SetFont("SPLBXPET"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2379,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); //******************************************* //** EXP-Gains/Kills/Combos [2001 to 2007?]** //******************************************* // 2001 - EXP Combo Meter Frame [Combos] // 2002 - EXP Combo Meter Notches [Combos] // 2003 - EXP Combo Meter Glass [Combos] // 2004 - # of Kills [Combos] // 2005 - "Kills" Label [Combos] // 2006 - "OVERKILL" text [Combos] // 2007 - EXP [from last kill] [Combos] // 2008 - EXP Total + Combo Bonus [combo] if (EXPGainChecker == 1) { if (MiscellaneousVars[157] > 0) { // Combo Meter Frames xpos = ScreenXOffset + 129.0; ypos = ScreenYOffset + 708.0; // MiscFixedVars[2]; // 772.0; // 772.0 SetFont("KLBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2001,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Combo Meter Notches if (PowerupTimer[7] > 0) MaxEXPCombotimer = 7000; else MaxEXPCombotimer = 5600; CurrentValue = MiscellaneousVars[157]; MaxValue = MaxEXPCombotimer; fontname = "KLBNO"; fontnum = CurrentValue * 100 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 100) fontnum = 100; if (fontnum >= 1 && fontnum <= 100) { xpos = ScreenXOffset + 129.0; ypos = ScreenYOffset + 708.0; // MiscFixedVars[2]; // 772.0; // 772.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (MiscellaneousVars[162] > 0) // Combo Timer Delay is active, change color of meter to indicate this { if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"KL2NO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"KL2NO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"KL2NO", d:fontnum); } else { if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"KLBNO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"KLBNO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"KLBNO", d:fontnum); } //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2002,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos = ScreenXOffset + 79.0; // MiscFixedVars[1]; ypos += 0.0; // = 772.0; // MiscFixedVars[2]; // 772.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); // Combo Meter Glass xpos = ScreenXOffset + 129.0; ypos = ScreenYOffset + 708.0; // MiscFixedVars[2]; // 772.0; // 772.0 SetFont("KLBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2003,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } str killmsgcolor = "Green"; MiscellaneousVars[142]++; if (MiscellaneousVars[142] > 39) MiscellaneousVars[142] -= 39; // # of Kills if (MiscellaneousVars[158] > 0) { // Kill Combo if (MiscellaneousVars[158] > 1) { if (MiscellaneousVars[158] > 10 && MiscellaneousVars[158] < 21) { killmsgcolor = "LightBlue"; } else if (MiscellaneousVars[158] > 20 && MiscellaneousVars[158] < 36) { killmsgcolor = "Cream"; } else if (MiscellaneousVars[158] > 35 && MiscellaneousVars[158] < 61) { killmsgcolor = "Cyan"; } else if (MiscellaneousVars[158] > 60 && MiscellaneousVars[158] < 101) { killmsgcolor = "Brick"; } else if (MiscellaneousVars[158] > 100 && MiscellaneousVars[158] < 201) { killmsgcolor = "Orange"; } else if (MiscellaneousVars[158] > 200 && MiscellaneousVars[158] < 501) { killmsgcolor = "Gold"; } else if (MiscellaneousVars[158] > 500) { if (MiscellaneousVars[142] >= 0 && MiscellaneousVars[142] <= 9) killmsgcolor = "PetraOrange"; if (MiscellaneousVars[142] >= 10 && MiscellaneousVars[142] <= 19) killmsgcolor = "FloraBlue"; if (MiscellaneousVars[142] >= 20 && MiscellaneousVars[142] <= 29) killmsgcolor = "PetraOrange"; if (MiscellaneousVars[142] >= 30 && MiscellaneousVars[142] <= 39) killmsgcolor = "FloraBlue"; } } SetFont("DQHUDFONT"); xpos = ScreenXOffset + 90.0 + 0.2; // 108.0 if (xpos < 0.0) xpos -= 0.4; //Print(f:xpos); ypos += -22.0; // = 750.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[158];HUDMSG_ALPHA | HUDMSG_COLORSTRING,2004,killmsgcolor,xpos,ypos,HUDMsgDelayFixed,msgalpha); SetFont("DQHUDFONTSML"); // "Kills" Label xpos = ScreenXOffset + 108.0 + 0.1; // 120.0 if (xpos < 0.0) xpos -= 0.2; ypos += 5.0; // = 755.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); str ComboFirst = ""; str ComboLetter = "-"; if (MiscellaneousVars[51] == 0) ComboLetter = "D"; if (MiscellaneousVars[51] == 1) ComboLetter = "C"; if (MiscellaneousVars[51] == 2) ComboLetter = "B"; if (MiscellaneousVars[51] == 3) ComboLetter = "A"; if (MiscellaneousVars[51] == 4) ComboLetter = "S"; if (MiscellaneousVars[51] >= 5) ComboLetter = "Z"; if (MiscellaneousVars[158] == 1) ComboFirst = "KILL ["; else ComboFirst = "KILLS ["; HudMessage(s:ComboFirst,s:ComboLetter,s:"]";HUDMSG_ALPHA | HUDMSG_COLORSTRING,2005,killmsgcolor,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // "OVERKILL" text xpos = ScreenXOffset + 312.0; // MiscFixedVars[1]; ypos += -43.0; // = 712.0; // MiscFixedVars[2]; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); if (MiscellaneousVars[2023] > 0) // Overkill timer { str overkilltype = ""; SetFont("DQHUDFONTSML"); if (MiscellaneousVars[2022] == 1) overkilltype = "OVERKILL!"; if (MiscellaneousVars[2022] == 2) overkilltype = "\c[purple]OVERKILL!\c-"; HudMessage(s:overkilltype;HUDMSG_ALPHA,2006,cr_red,xpos,ypos,HUDMsgDelayFixed,msgalpha); MiscellaneousVars[2023] -= 1; } // EXP [from last kill] if (MiscellaneousVars[2026] > 0) { xpos = ScreenXOffset + 222.0 + 0.1; if (xpos < 0.0) xpos -= 0.2; ypos += 29.0; // = 741.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (MiscellaneousVars[2024]-MiscellaneousVars[2025] > 1) HudMessage(s:"+",d:MiscellaneousVars[2024],s:" EXP (+",d:MiscellaneousVars[2024]-MiscellaneousVars[2025],s:")";HUDMSG_ALPHA,2007,cr_teal,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(s:"+",d:MiscellaneousVars[2024],s:" EXP";HUDMSG_ALPHA,2007,cr_teal,xpos,ypos,HUDMsgDelayFixed,msgalpha); MiscellaneousVars[2026] -= 1; } // EXP Total + Combo Bonus [combo] if (MiscellaneousVars[158] > 1 && MiscellaneousVars[160] > 0) { xpos = ScreenXOffset + 222.0 + 0.1; if (xpos < 0.0) xpos -= 0.2; if (MiscellaneousVars[2026] > 0) ypos += 28.0; else ypos += 57.0; // = 769.0; MultiLower = (MiscellaneousVars[159] - 10000) % 100; MultiUpper = ((MiscellaneousVars[159] - 10000) - MultiLower) / 100; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("DQHUDFONTSML"); str tempstr = "."; if (MultiLower > -1 && MultiLower < 10) tempstr = ".0"; HudMessage(s:"+",d:MiscellaneousVars[160],s:" EXP (+",d:MultiUpper,s:tempstr,d:MultiLower,s:"%)";HUDMSG_ALPHA,2008,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } //***************************************** //** HP Info [2010, 2012 & 2023 to 2030] ** //***************************************** // 2010 - HP Gained during "LEVEL UP" [HP Info] // 2012 - HP Label [HP Info] // 2023 - HP Amounts [HP Info] // 2024 - HP Meter "Critical" Border [HP Info] // 2025 - HP Meter Frame [HP Info] // 2026 - HP Meter Bonus/Penalty Glow // 2027 - HP Meter "Overlife" Notches [HP Info] // 2028 - HP Meter Notches [HP Info] // 2029 - HP Meter Poison Frame // 2030 - HP Meter Glass [HP Info] CurrentValue = MiscellaneousVars[25001]; MaxValue = MaxHealthTrue; // Max Health for player // HP Label xpos = ScreenXOffset + 220.0; ypos = ScreenYOffset + 868.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"HP";HUDMSG_ALPHA,2012,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // HP Gained during "LEVEL UP" // MiscellaneousVars[2031] = MaxHP xpos = ScreenXOffset + 388.0 + 0.1; if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 862.0; SetFont("DQHUDFONTSML"); if (MiscellaneousVars[222] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"+ ",d:MiscellaneousVars[222];HUDMSG_ALPHA,2010,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // HP Amounts xpos = ScreenXOffset + 326.0; ypos = ScreenYOffset + 872.0; SetFont("DQHUDFONTSML"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:CurrentValue,s:"/",d:MaxValue;HUDMSG_ALPHA,2023,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudPrimaryMeters == 1) { // HP Meter Border xpos = ScreenXOffset + 325.0; ypos = ScreenYOffset + 870.0; CurrentValue = MiscellaneousVars[25001]; MaxValue = MaxHealthTrue; // Max Health for player if (MaxValue != 0) { tempvar1 = 2003; VisibleNotchAmount = CurrentValue * 200 / MaxValue; if (VisibleNotchAmount <= 20) // If Health is "Critical" [10% or less] { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.735; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.705; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.675; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.645; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.615; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.585; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.555; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.525; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.495; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("HPBFCRIT"); HudMessage(s:"A";HUDMSG_ALPHA,2024,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { MiscellaneousVars[tempvar1] = 0; } } SetFont("HPBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2025,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Poison Frame [2029] if (MaxValue != 0) { xpos = ScreenXOffset + 325.0; ypos = ScreenYOffset + 870.0; tempvar1 = 2057; if (PowerupTimer[16] > 0) // If Player is Poisoned { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.735; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.705; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.675; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.645; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.615; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.585; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.555; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.525; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.495; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("HPBFPOIS"); HudMessage(s:"A";HUDMSG_ALPHA,2029,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { MiscellaneousVars[tempvar1] = 0; } } // HP Meter Notches CurrentValue = MiscellaneousVars[25001]; MaxValue = MaxHealthTrue; // Max Health for player if (MaxValue != 0) { // Normal fontname = "HPBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 324.0; // + MiscFixedVars[1]; ypos = ScreenYOffset + 870.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"HPBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"HPBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"HPBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2028,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (HudOverlifeNotches == 1) { fontname = "HPBFO"; fontnum = (CurrentValue * 200 / MaxValue) - 200; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 324.0; // + MiscFixedVars[1]; ypos = ScreenYOffset + 870.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"HPBFO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"HPBFO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"HPBFO", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2027,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } // HP Meter Bonus/Penalty Glow [2026] xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 870.0; tempvar1 = 2052; tempvar2 = 92; if (MiscellaneousVars[tempvar2] != 0) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -840 || MiscellaneousVars[tempvar2] >= 840) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -750 || MiscellaneousVars[tempvar2] >= 750) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -560 || MiscellaneousVars[tempvar2] >= 560) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -420 || MiscellaneousVars[tempvar2] >= 420) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -210 || MiscellaneousVars[tempvar2] >= 210) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -70 || MiscellaneousVars[tempvar2] >= 70) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.735; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.705; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.675; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.645; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.615; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.585; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.555; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.525; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.495; if (MiscellaneousVars[tempvar2] > 0) SetFont("HPBGBON"); if (MiscellaneousVars[tempvar2] < 0) SetFont("HPBGPEN"); msgalpha = FixedMul(msgalpha,1.0); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2026,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // HP Meter Glass [2030] xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 870.0; SetFont("HPBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2030,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //********************************** //** MP Info [2010 & 2013 to 2039]** //********************************** // 2010 - MP Gained during "LEVEL UP" [MP Info] // 2013 - MP Label [MP Info] // 2033 - MP Amounts [MP Info] // 2034 - MP Meter "Focus" Border [MP Info] // 2035 - MP Meter Border [MP Info] // 2036 - MP Meter Bonus/Penalty Glow // 2037 - MP Meter "Overmagic" Notches [MP Info] // 2038 - MP Meter Notches [MP Info] // 2039 - MP Meter Glass [MP Info] CurrentValue = CurrentMana; MaxValue = MaxMana; // MP Label xpos = ScreenXOffset + 220.0; ypos = ScreenYOffset + 895.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"MP";HUDMSG_ALPHA,2013,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // MP Gained during "LEVEL UP" // MiscellaneousVars[2032] = MaxMP xpos = ScreenXOffset + 388.0 + 0.1; if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 889.0; SetFont("DQHUDFONTSML"); if (MiscellaneousVars[223] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"+ ",d:MiscellaneousVars[223];HUDMSG_ALPHA,2011,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // MP Amounts xpos = ScreenXOffset + 326.0; ypos = ScreenYOffset + 899.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:CurrentValue,s:"/",d:MaxValue;HUDMSG_ALPHA,2033,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudPrimaryMeters == 1) { // MP Meter Border xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 897.0; tempvar1 = 2004; if (MiscellaneousVars[212] > 0) // Focusing { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[231] >= 350) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[231] >= 1050) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[231] >= 2100) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[231] >= 2800) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[231] >= 3500) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[231] >= 4200) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.735; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.705; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.675; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.645; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.615; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.585; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.555; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.525; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.495; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("MPBFOCUS"); HudMessage(s:"A";HUDMSG_ALPHA,2034,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } SetFont("MPBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2035,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // MP Meter Notches xpos = ScreenXOffset + 225.0; // 225 ypos = ScreenYOffset + 897.0; // 870 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); CurrentValue = CurrentMana; MaxValue = MaxMana; if (MaxValue != 0) { // Normal fontname = "MPBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 897.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"MPBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"MPBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"MPBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2038,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (HudOverlifeNotches == 1) { fontname = "MPBFO"; fontnum = (CurrentValue * 200 / MaxValue) - 200; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 897.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"MPBFO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"MPBFO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"MPBFO", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2037,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } // MP Meter Bonus/Penalty Glow [2036] xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 897.0; tempvar1 = 2053; tempvar2 = 93; if (MiscellaneousVars[tempvar2] != 0) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -840 || MiscellaneousVars[tempvar2] >= 840) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -750 || MiscellaneousVars[tempvar2] >= 750) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -560 || MiscellaneousVars[tempvar2] >= 560) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -420 || MiscellaneousVars[tempvar2] >= 420) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -210 || MiscellaneousVars[tempvar2] >= 210) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -70 || MiscellaneousVars[tempvar2] >= 70) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.735; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.705; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.675; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.645; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.615; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.585; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.555; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.525; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.495; if (MiscellaneousVars[tempvar2] > 0) SetFont("MPBGBON"); if (MiscellaneousVars[tempvar2] < 0) SetFont("MPBGPEN"); msgalpha = FixedMul(msgalpha,1.0); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2036,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // MP Meter Glass xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 897.0; SetFont("MPBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2039,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //*************************************** //** AP/HLCR Info [2014 & 2043 to 2049]** //*************************************** // 2014 - AP/HLCR Label [AP/HLCR Info] // 2043 - AP/HLCR Amounts [AP/HLCR Info] // 2044 - AP "Armor Type" Meter Frame / HLCR "OverHeat" Meter Frame [AP/HLCR Info] // 2045 - AP/HLCR Meter Frame [AP/HLCR Info] // 2046 - HLCR Bonus/Penalty Glow [HLCR Info] // 2047 - AP Meter Notches / Hellcore "Overheat" Meter Notches [AP/HLCR Info] // 2048 - Hellcore Meter Notches [AP/HLCR Info] // 2049 - AP/HLCR Meter Glass [AP/HLCR Info] // AP/HLCR/ARC Meter Border if (CharacterClass == 9) // Petra = Arcana Gauge { // ARC Glass Frame xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; SetFont("ARBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2049,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // ARC Frame xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; SetFont("ARBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2045,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // ARC Label xpos = ScreenXOffset + 220.0; ypos = ScreenYOffset + 922.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"ARC";HUDMSG_ALPHA,2014,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // ARC Notches CurrentValue = MiscellaneousVars[5001]; MaxValue = 900; //To replace in the future with other max. Arcana Gauge options if (MaxValue != 0) { // Normal fontname = "APBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"APBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"APBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"APBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2048,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // ARC Amounts xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 926.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:CurrentValue,s:"/",d:MaxValue;HUDMSG_ALPHA,2043,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (CharacterClass == 8) // Ailish = Spirit Strike Meter { // SSP Glass Frame xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; SetFont("SSBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2049,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // SSP Frame xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; SetFont("SSBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2045,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // SSP Label xpos = ScreenXOffset + 220.0; ypos = ScreenYOffset + 922.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"SSP";HUDMSG_ALPHA,2014,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (CharacterClass == 2) // Flora = HellCore/HLCR { // HLCR Label xpos = ScreenXOffset + 220.0; ypos = ScreenYOffset + 922.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"HLCR";HUDMSG_ALPHA,2014,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // HLCR Amounts WholeValue = (HellcoreOverheatLevel / 100) / 100; ModuloValue = (HellcoreOverheatLevel / 100) % 100; xpos = ScreenXOffset + 326.0; ypos = ScreenYOffset + 926.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("DQHUDFONTSML"); if (ModuloValue < 10) HudMessage(d:WholeValue,s:".0",d:ModuloValue,s:"%";HUDMSG_ALPHA,2043,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:WholeValue,s:".",d:ModuloValue,s:"%";HUDMSG_ALPHA,2043,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudPrimaryMeters == 1) { // HLCR Meter Frame xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; tempvar1 = 2005; if (HellcoreOverheatLevel > 1000000) // Hellcore - "Overheated" Glow { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("HCBOVHET"); HudMessage(s:"A";HUDMSG_ALPHA,2044,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } SetFont("HCBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2045,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // HLCR Meter Notches CurrentValue = HellcoreOverheatLevel; MaxValue = 1000000; if (MaxValue != 0) { // Normal fontname = "HCBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"HCBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"HCBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"HCBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2048,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (HudOverlifeNotches == 1) { fontname = "HCBFO"; fontnum = (CurrentValue * 200 / MaxValue) - 200; fontnum /= 9; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"HCBFO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"HCBFO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"HCBFO", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2047,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } // Stamina Meter Bonus/Penalty Glow [2046] xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; tempvar1 = 2055; tempvar2 = 95; if (MiscellaneousVars[tempvar2] != 0) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -840 || MiscellaneousVars[tempvar2] >= 840) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -750 || MiscellaneousVars[tempvar2] >= 750) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -560 || MiscellaneousVars[tempvar2] >= 560) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -420 || MiscellaneousVars[tempvar2] >= 420) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -210 || MiscellaneousVars[tempvar2] >= 210) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -70 || MiscellaneousVars[tempvar2] >= 70) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.735; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.705; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.675; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.645; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.615; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.585; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.555; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.525; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.495; if (MiscellaneousVars[tempvar2] > 0) SetFont("HCBGBON"); if (MiscellaneousVars[tempvar2] < 0) SetFont("HCBGPEN"); msgalpha = FixedMul(msgalpha,1.0); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2046,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // HLCR Meter Glass xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; SetFont("HCBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2049,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } if (CharacterClass == 0 || CharacterClass == 1) // Marines = AP { CurrentValue = MiscellaneousVars[25037]; MaxValue = CurrentMaxArmor; if (CurrentValue > 0 && MaxValue > 0) { // AP Label xpos = ScreenXOffset + 220.0; ypos = ScreenYOffset + 922.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"AP";HUDMSG_ALPHA,2014,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // AP Amounts xpos = ScreenXOffset + 326.0; ypos = ScreenYOffset + 926.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:CurrentValue,s:"/",d:MaxValue;HUDMSG_ALPHA,2043,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudPrimaryMeters == 1) { // AP Meter Type Frame xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; if (CurrentArmorClass > 0) // Armor Type { if (CurrentArmorClass == 1) // Green Armor { SetFont("APBGRNAR"); } if (CurrentArmorClass == 2) // Blue Armor { SetFont("APBBLUAR"); } if (CurrentArmorClass == 3) // Stone Skin [1] { SetFont("APBSTSK1"); } if (CurrentArmorClass == 4) // Diamond Skin [1] { SetFont("APBDISK1"); } if (CurrentArmorClass == 5) // Stone Skin [2] { SetFont("APBSTSK2"); } if (CurrentArmorClass == 6) // Diamond Skin [2] { SetFont("APBDISK2"); } msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2044,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // AP Meter Frame SetFont("APBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2045,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // AP Meter Notches fontname = "APBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"APBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"APBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"APBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2047,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // AP Meter Glass xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 924.0; SetFont("APBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2049,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } //*************************************** //** STAMINA Info [2015 & 2053 to 2060]** //*************************************** // 2015 - Stamina Label [STAMINA Info] // 2053 - Stamina Amounts [STAMINA Info] // 2054 - Stamina "Focus Charge" Meter Frame [STAMINA Info] // 2055 - Stamina "Tension Charge" Meter Frame [STAMINA Info] // 2056 - Stamina Meter Frame [STAMINA Info] // 2057 - Stamina Meter Bonus/Penalty Glow // 2058 - Stamina Meter "OverStamina" Notches [STAMINA Info] // 2059 - Stamina Meter Notches [STAMINA Info] // 2060 - Stamina Meter Glass [STAMINA Info] int StaminaRatio = ((MiscellaneousVars[21] * 100) / MiscellaneousVars[22]); // Current Stamina if (MiscellaneousVars[22] != 0) StaminaRatio = ((MiscellaneousVars[21] * 100) / MiscellaneousVars[22]); // Current Stamina // STAM Label xpos = ScreenXOffset + 220.0; ypos = ScreenYOffset + 949.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"STAM";HUDMSG_ALPHA,2015,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Stamina Amounts WholeValue = MiscellaneousVars[8] / 100; ModuloValue = MiscellaneousVars[8] % 100; xpos = ScreenXOffset + 326.0; ypos = ScreenYOffset + 953.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); if (debughud2 > 0) { if (ModuloValue < 10) HudMessage(d:WholeValue,s:".0",d:ModuloValue,s:"% [",d:MiscellaneousVars[21],s:"/",d:MiscellaneousVars[22],s:"]";HUDMSG_ALPHA,2053,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:WholeValue,s:".",d:ModuloValue,s:"% [",d:MiscellaneousVars[21],s:"/",d:MiscellaneousVars[22],s:"]";HUDMSG_ALPHA,2053,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { if (ModuloValue < 10) HudMessage(d:WholeValue,s:".0",d:ModuloValue,s:"%";HUDMSG_ALPHA,2053,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:WholeValue,s:".",d:ModuloValue,s:"%";HUDMSG_ALPHA,2053,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (HudPrimaryMeters == 1) { // STAM Meter Frame xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 951.0; tempvar1 = 2006; if (MiscellaneousVars[212] > 0) // Stamina - "Focus Charge" Glow { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("SMBFOCDR"); HudMessage(s:"A";HUDMSG_ALPHA,2054,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[185] > 0) // Stamina - "Tension Charge" Glow { tempvar1 = 2007; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("SMBTENDR"); HudMessage(s:"A";HUDMSG_ALPHA,2055,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } SetFont("SMBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2056,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // STAM Meter Notches CurrentValue = MiscellaneousVars[21]; MaxValue = MiscellaneousVars[22]; if (MaxValue != 0) { // Normal fontname = "SMBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 951.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"SMBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"SMBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"SMBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2059,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (HudOverlifeNotches == 1) { fontname = "SMBFO"; fontnum = (CurrentValue * 200 / MaxValue) - 200; fontnum /= 4; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 951.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"SMBFO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"SMBFO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"SMBFO", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2058,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } // Stamina Meter Bonus/Penalty Glow [2057] xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 951.0; tempvar1 = 2054; tempvar2 = 94; if (MiscellaneousVars[tempvar2] != 0) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -840 || MiscellaneousVars[tempvar2] >= 840) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -750 || MiscellaneousVars[tempvar2] >= 750) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -560 || MiscellaneousVars[tempvar2] >= 560) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -420 || MiscellaneousVars[tempvar2] >= 420) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -210 || MiscellaneousVars[tempvar2] >= 210) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar2] <= -70 || MiscellaneousVars[tempvar2] >= 70) MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.735; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.705; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.675; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.645; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.615; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.585; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.555; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.525; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.495; if (MiscellaneousVars[tempvar2] > 0) SetFont("SMBGBON"); if (MiscellaneousVars[tempvar2] < 0) SetFont("SMBGPEN"); msgalpha = FixedMul(msgalpha,1.0); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2057,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // STAM Meter Glass [2060] xpos = ScreenXOffset + 324.0; ypos = ScreenYOffset + 951.0; SetFont("SMBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2060,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //**************************** //** LVL Info [2016 to 2066]** //**************************** // 2016 - LVL Label [LVL Info] // 2063 - LVL Amounts [LVL Info] // 2064 - LVL Meter Frame [LVL Info] // 2065 - LVL Meter Notches [LVL Info] // 2066 - LVL Meter Glass [LVL Info] if (EXPGainChecker == 1) { // LVL Label xpos = ScreenXOffset + 470.0; ypos = ScreenYOffset + 868.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"LVL";HUDMSG_ALPHA,2016,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // LVL Amounts xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 872.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:PlayerLevel;HUDMSG_ALPHA,2063,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudSecondaryMeters == 1) { // LVL Meter Frame xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 870.0; SetFont("LVBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2064,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // LVL Meter Notches CurrentValue = PlayerLevel; MaxValue = LevelCap; fontname = "LVBNO"; fontnum = CurrentValue * 50 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 50) fontnum = 50; if (fontnum >= 1 && fontnum <= 50) { xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 870.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"LVBNO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"LVBNO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"LVBNO", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2065,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos = ScreenXOffset + 508.0; ypos = ScreenYOffset + 870.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); // LVL Meter Glass xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 870.0; SetFont("LVBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2066,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } //**************************** //** SV% Info [2017 to 2076]** //**************************** // 2017 - SV% Label [SV% Info] // 2073 - SV% Amounts [SV% Info] // 2074 - SV% Meter Frame [SV% Info] // 2075 - SV% Meter Notches [SV% Info] // 2076 - SV% Meter Glass [SV% Info] WholeValue = MiscellaneousVars[232] / 10; ModuloValue = MiscellaneousVars[232] % 10; // SV% Label xpos = ScreenXOffset + 470.0; ypos = ScreenYOffset + 895.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"SV%";HUDMSG_ALPHA,2017,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // SV% Amounts xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 899.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:WholeValue,s:".",d:ModuloValue;HUDMSG_ALPHA,2073,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudSecondaryMeters == 1) { // SV% Meter Frame xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 897.0; SetFont("SVBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2074,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // SV% Meter Notches CurrentValue = MiscellaneousVars[232]; MaxValue = 1000; fontname = "SVBNO"; fontnum = CurrentValue * 50 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 50) fontnum = 50; if (fontnum >= 1 && fontnum <= 50) { xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 897.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"SVBNO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"SVBNO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"SVBNO", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2075,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // SV% Meter Glass xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 897.0; SetFont("SVBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2076,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //**************************** //** AB% Info [2018 to 2086]** //**************************** // 2018 - AB% Label [AB% Info] // 2083 - AB% Amounts [AB% Info] // 2084 - AB% Meter Frame [AB% Info] // 2085 - AB% Meter Notches [AB% Info] // 2086 - AB% Meter Glass [AB% Info] WholeValue = MiscellaneousVars[233] / 10; ModuloValue = MiscellaneousVars[233] % 10; // AB% Label xpos = ScreenXOffset + 470.0; ypos = ScreenYOffset + 922.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"AB%";HUDMSG_ALPHA,2018,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // AB% Amounts xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 926.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:WholeValue,s:".",d:ModuloValue;HUDMSG_ALPHA,2083,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudSecondaryMeters == 1) { // AB% Meter Frame xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 924.0; SetFont("ABBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2084,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // AB% Meter Notches CurrentValue = MiscellaneousVars[233]; MaxValue = 1000; fontname = "ABBNO"; fontnum = CurrentValue * 50 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 50) fontnum = 50; if (fontnum >= 1 && fontnum <= 50) { xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 924.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (CharacterClass == 2) { if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"ABBNF00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"ABBNF0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"ABBNF", d:fontnum); } else { if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"ABBNO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"ABBNO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"ABBNO", d:fontnum); } //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2085,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // AB% Meter Glass xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 924.0; SetFont("ABBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2086,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //**************************** //** EV% Info [2019 to 2096]** //**************************** // 2019 - EV% Label [EV% Info] // 2093 - EV% Amounts [EV% Info] // 2094 - EV% Meter Frame [EV% Info] // 2095 - EV% Meter Notches [EV% Info] // 2096 - EV% Meter Glass [EV% Info] WholeValue = MiscellaneousVars[23] / 100; ModuloValue = (MiscellaneousVars[23] % 100) / 10; // EV% Label xpos = ScreenXOffset + 470.0; ypos = ScreenYOffset + 949.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"EV%";HUDMSG_ALPHA,2019,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // EV% Amounts xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 953.0; SetFont("DQHUDFONTSML"); // if (ModuloValue < 10) HudMessage(d:WholeValue,s:".0",d:ModuloValue;HUDMSG_ALPHA,2093,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:WholeValue,s:".",d:ModuloValue;HUDMSG_ALPHA,2093,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudSecondaryMeters == 1) { // EV% Meter Frame xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 951.0; SetFont("EVBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2094,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // EV% Meter Notches CurrentValue = MiscellaneousVars[23]; MaxValue = 10000; fontname = "EVBNO"; fontnum = CurrentValue * 50 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 50) fontnum = 50; if (fontnum >= 1 && fontnum <= 50) { xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 951.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"EVBNO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"EVBNO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"EVBNO", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2095,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // EV% Meter Glass xpos = ScreenXOffset + 535.0; ypos = ScreenYOffset + 951.0; SetFont("EVBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2096,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //**************************** //** EXP Info [2020 to 5106]** //**************************** // 2020 - EXP Label [EXP Info] // 2097 - EXP Meter Border [EXP Info] // 2098 - EXP Meter Ruler [EXP Info] // 2099 - EXP Meter Notches [EXP Info] // 2100 - EXP Meter Glass [EXP Info] if (EXPGainChecker == 1) { // EXP Label xpos = ScreenXOffset + 204.0; ypos = ScreenYOffset + 972.0; SetFont("EXBLABEL"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2020,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // EXP Meter Border xpos = ScreenXOffset + 316.0; ypos = ScreenYOffset + 972.0; SetFont("EXBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2097,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // EXP Meter "Ruler" xpos = ScreenXOffset + 316.0; ypos = ScreenYOffset + 972.0; SetFont("EXBRULER"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2098,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // EXP Notches int CurrentEXPMeterAmount; int MaxEXPMeterAmount; CurrentEXPMeterAmount = Experience - ExpTable[PlayerLevel - 1]; MaxEXPMeterAmount = ExpTable[PlayerLevel] - ExpTable[PlayerLevel - 1]; fontname = "EXBNO"; fontnum = CurrentEXPMeterAmount * 200 / MaxEXPMeterAmount; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 316.0; ypos = ScreenYOffset + 972.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"EXBNO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"EXBNO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"EXBNO", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2099,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // EXP Meter Glass xpos = ScreenXOffset + 316.0; ypos = ScreenYOffset + 972.0; SetFont("EXBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2100,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[110002] > 0) // Tension is Enabled { //**************************************** //** Tension Charge/Timer [2103 to 2107]** //**************************************** // 2103 - Tension-Charge Meter "Psyche" Border [Tension Charge/Timer] // 2104 - Tension-Charge Meter Border [Tension Charge/Timer] // 2105 - Tension-Charge Meter Notches [Tension Charge/Timer] // 2106 - Tension-Timer Notches [Tension Charge/Timer] // 2107 - Tension-Timer Glass [Tension Charge/Timer] // Tension-Charge Meter Border int TensionBarChecker; TensionBarChecker = 0; if (GetCVar("dvdshud_tensionmainbar") == 0) { if (MiscellaneousVars[185] > 0) TensionBarChecker += 1; if (MiscellaneousVars[183] > 0) TensionBarChecker += 1; } else TensionBarChecker += 1; if (TensionBarChecker == 1) { xpos = ScreenXOffset + 27.0; ypos = ScreenYOffset + 856.0; tempvar1 = 2009; if (MiscellaneousVars[181] > 0) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; if (MiscellaneousVars[181] == 1) SetFont("TNBGLVL1"); if (MiscellaneousVars[181] == 2) SetFont("TNBGLVL2"); if (MiscellaneousVars[181] == 3) SetFont("TNBGLVL3"); if (MiscellaneousVars[181] == 4) SetFont("TNBGLVL4"); if (MiscellaneousVars[181] == 5) SetFont("TNBGLVL5"); if (MiscellaneousVars[181] == 6) SetFont("TNBGLVL6"); if (MiscellaneousVars[181] == 7) SetFont("TNBGLVL7"); msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2103,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[181] > 0) SetFont("TNBGFRAM"); else SetFont("TNBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2104,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Tension-Charge/Timer Meter Notches MaxTensionChargeTimer = 14000; if (MiscellaneousVars[181] == 0) { MaxTensionChargeTimer = 14000; } // "0" if (MiscellaneousVars[181] == 1) { MaxTensionChargeTimer = 14880; TensionTimerMax = 3600; } // "5" if (MiscellaneousVars[181] == 2) { MaxTensionChargeTimer = 15750; TensionTimerMax = 4320; } // "20" [x1.2] if (MiscellaneousVars[181] == 3) { MaxTensionChargeTimer = 17500; TensionTimerMax = 5184; } // "50" [x1.2] if (MiscellaneousVars[181] == 4) { MaxTensionChargeTimer = 19250; TensionTimerMax = 6221; } // "100" [x1.2] if (MiscellaneousVars[181] == 5) { MaxTensionChargeTimer = 21000; TensionTimerMax = 7465; } // "250" [x1.2] if (MiscellaneousVars[181] == 6) { MaxTensionChargeTimer = 26250; TensionTimerMax = 8958; } // "500" [x1.2] if (MiscellaneousVars[181] == 7) { TensionTimerMax = 10750; } // "1000" [x1.2] // Tension-Charge Meter Notches CurrentValue = MiscellaneousVars[185]; MaxValue = MaxTensionChargeTimer; fontname = "TNBNC"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 27.0; ypos = ScreenYOffset + 856.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"TNBNC00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"TNBNC0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"TNBNC", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2105,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Tension-Timer Notches CurrentValue = MiscellaneousVars[183]; MaxValue = TensionTimerMax; fontname = "TNBNT"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 27.0; ypos = ScreenYOffset + 856.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"TNBNT00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"TNBNT0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"TNBNT", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2106,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Tension-Timer Glass xpos = ScreenXOffset + 27.0; ypos = ScreenYOffset + 856.0; SetFont("TNBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2107,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //************************************** //** Tension OverPsyche [2275 to 7634]** //************************************** // 2275 - Tension-OverPsyche Meter "OverPsyched" Border [Tension-OverPsyche] // 2276 - Tension-OverPsyche Meter Border [Tension-OverPsyche] // 2277 - Tension-OverPsyche Meter Notches [Tension-OverPsyche] // 2278 - Tension-OverPsyche Meter Glass [Tension-OverPsyche] // MiscellaneousVars[250] - OverPsyche Timer [Current] // MiscellaneousVars[262] - OverPsyche Timer [Max] int TensionOPBarChecker; TensionOPBarChecker = 0; if (MiscellaneousVars[110002] >= 2) { if (MiscellaneousVars[250] > 0) TensionOPBarChecker += 1; } if (TensionOPBarChecker == 1) { // Tension-OverPsyche Meter Border xpos = ScreenXOffset + 62.0; // 62.0 ypos = ScreenYOffset + 911.0; // 911.0 tempvar1 = 2051; if (MiscellaneousVars[250] >= MiscellaneousVars[262]) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("OVPSMAXG"); HudMessage(s:"A";HUDMSG_ALPHA,2275,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos = ScreenXOffset + 62.0; // 62.0 ypos = ScreenYOffset + 911.0; // 911.0 SetFont("OVPSFRAM"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2276,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Tension-OverPsyche Notches if (MiscellaneousVars[250] > 0) // && MiscellaneousVars[183] < TensionTimerMax { CurrentValue = MiscellaneousVars[250]; MaxValue = MiscellaneousVars[262]; // Normal fontname = "OVPSN"; fontnum = CurrentValue * 100 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 100) fontnum = 100; if (fontnum >= 1 && fontnum <= 100) { xpos = ScreenXOffset + 62.0; // 62.0 ypos = ScreenYOffset + 911.0; // 911.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"OVPSN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"OVPSN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"OVPSN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2277,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // Tension-OverPsyche Glass xpos = ScreenXOffset + 62.0; // 62.0 ypos = ScreenYOffset + 911.0; // 911.0 SetFont("OVPSGLAS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2278,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //************************************ //** Tension Cooldown [2113 to 2116]** //************************************ // 2113 - Tension-Cooldown Meter "Max Cooldown" Border [Tension Cooldown] // 2114 - Tension-Cooldown Meter Border [Tension Cooldown] // 2115 - Tension-Cooldown Meter Notches [Tension Cooldown] // 2116 - Tension Star Icon [Tension Star] // 2117 - Tension Cooldown Meter Glass [Tension Cooldown] // Tension-Cooldown Meter "Max Cooldown" Border xpos = ScreenXOffset + 46.0; ypos = ScreenYOffset + 911.0; // MiscellaneousVars[188] = MiscellaneousVars[186]; CurrentValue = MiscellaneousVars[186]; // Current Tension Cooldown Timer MaxValue = MiscellaneousVars[188]; // Max Tension Cooldown tempvar1 = 2008; if (MaxValue > 0 && CurrentValue >= MaxValue) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("TNCDMAXG"); HudMessage(s:"A";HUDMSG_ALPHA,2113,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Tension-Cooldown Meter Border xpos = ScreenXOffset + 46.0; ypos = ScreenYOffset + 911.0; SetFont("TNCDFRAM"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2114,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Tension-Cooldown Meter Notches CurrentValue = MiscellaneousVars[186]; // Current Tension Cooldown Timer MaxValue = MiscellaneousVars[188]; // Max Tension Cooldown if (MaxValue != 0) { // Normal fontname = "TNCDN"; fontnum = CurrentValue * 100 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 100) fontnum = 100; if (fontnum >= 1 && fontnum <= 100) { xpos = ScreenXOffset + 46.0; ypos = ScreenYOffset + 911.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"TNCDN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"TNCDN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"TNCDN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2115,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // Tension Cooldown Meter Glass xpos = ScreenXOffset + 46.0; ypos = ScreenYOffset + 911.0; SetFont("TNCDGLAS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2117,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); //************************ //** Tension Star [2116]** //************************ xpos = ScreenXOffset + 132.0; // 152.0; ypos = ScreenYOffset + 948.0; // 950.0; if (MiscellaneousVars[181] == 0) { if (MiscellaneousVars[185] > 0) SetFont("TNST0000"); else SetFont("TNSTNONE"); } if (MiscellaneousVars[181] == 1) SetFont("TNST0005"); if (MiscellaneousVars[181] == 2) SetFont("TNST0020"); if (MiscellaneousVars[181] == 3) SetFont("TNST0050"); if (MiscellaneousVars[181] == 4) SetFont("TNST0100"); if (MiscellaneousVars[181] == 5) SetFont("TNST0250"); if (MiscellaneousVars[181] == 6) SetFont("TNST0500"); if (MiscellaneousVars[181] == 7) SetFont("TNST1000"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2116,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //****************************************************** //**Armor Icons [Flora's & Sauron-type] [2118 to 2133]** //****************************************************** // 2118 - Sauron Helmet Icon [Armor Icons] // 2119 - Sauron Gauntlets Icon [Armor Icons] // 2120 - One Ring Icon [Armor Icons] // 2121-2133 - Flora-Specific Armor Icons [Armor Icons] // Sauron Armors xpos = ScreenXOffset + 442.0; ypos = ScreenYOffset + 744.0; if (MiscellaneousVars[25101] > 0) { SetFont("SAURHELM"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2118,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25102] > 0) { SetFont("SAURGNTS"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2119,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25103] > 0) { SetFont("TONERING"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2120,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Flora Armors xpos = ScreenXOffset + 59.0; // 59.0 ypos = ScreenYOffset + 744.0; if (MiscellaneousVars[25104] > 0) { SetFont("IFLRARM1"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2121,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25105] > 0) { SetFont("IFLRARM2"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2122,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25106] > 0) { SetFont("IFLRARM3"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2123,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25107] > 0) { SetFont("IFLRARM4"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2124,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25108] > 0) { SetFont("IFLRARM5"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2125,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25109] > 0) { SetFont("IFLRARM6"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2126,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25110] > 0) { SetFont("IFLRARM7"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2127,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25111] > 0) { SetFont("IFLRARM8"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2128,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25112] > 0) { int RuinousShieldWhole = RuinousShieldPercentF / 10; int RuinousShieldDecimal = RuinousShieldPercentF % 10; ypos -= 32.0; SetFont("DVDSBIGFONT"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:RuinousShieldWhole,s:".",d:RuinousShieldDecimal,s:"%";HUDMSG_ALPHA,2129,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); ypos += 32.0; SetFont("IFLRARMX"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2130,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25113] > 0) { SetFont("IFLRARM9"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2131,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25114] > 0) { SetFont("IFLRARMA"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2132,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } xpos += 32.0; ypos += 0.0; if (MiscellaneousVars[25115] > 0) { SetFont("IFLRARMB"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2133,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //******************************************** //**Stat/AeonPts Icons/Values [2141 to 2158]** //******************************************** // 2141 - "Aeon Points" Icon [Stat/AeonPts Icons/Values] // 2142 - "Aeon Points" Value [Stat/AeonPts Icons/Values] // 2143 - "Strength" Icon [Stat/AeonPts Icons/Values] // 2144 - "Strength" Value [Stat/AeonPts Icons/Values] // 2145 - "Defense" Icon [Stat/AeonPts Icons/Values] // 2146 - "Defense" Value [Stat/AeonPts Icons/Values] // 2147 - "Sorcery" Icon [Stat/AeonPts Icons/Values] // 2148 - "Sorcery" Value [Stat/AeonPts Icons/Values] // 2149 - "Therapeusis" Icon [Stat/AeonPts Icons/Values] // 2150 - "Therapeusis" Value [Stat/AeonPts Icons/Values] // 2151 - "Agility" Icon [Stat/AeonPts Icons/Values] // 2152 - "Agility" Value [Stat/AeonPts Icons/Values] // 2153 - "Deftness" Icon [Stat/AeonPts Icons/Values] // 2154 - "Deftness" Value [Stat/AeonPts Icons/Values] // 2155 - "Balance" Icon [Stat/AeonPts Icons/Values] // 2156 - "Balance" Value [Stat/AeonPts Icons/Values] // 2157 - "Jumping" Icon [Stat/AeonPts Icons/Values] // 2158 - "Jumping" Value [Stat/AeonPts Icons/Values] if (GetCVar("dvdshud_showstatinfo") == 1) { // MiscellaneousVars[2033] = Aeon Pts // Aeon Points if (MiscellaneousVars[25] > 0 && PlayerLevel >= MiscellaneousVars[197]) { xpos = ScreenXOffset + 662.0; // 662.0 ypos = ScreenYOffset + 764.0; // 764.0 SetFont("STATAEON"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2141,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 680.0 + 0.1; // 680.1 if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 766.0; // 766.0 SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[25];HUDMSG_ALPHA,2142,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[224] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[25],s:" \cj+ ",d:MiscellaneousVars[224];HUDMSG_ALPHA,2142,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // MiscellaneousVars[2034] = Strength // Strength xpos = ScreenXOffset + 663.0; ypos = ScreenYOffset + 805.0; SetFont("STATSTR"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2143,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 680.0 + 0.1; // 680.1 if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 807.0; // 766.0 SetFont("DQHUDFONTSML"); if (MiscellaneousVars[24] == 5) // Selected Strength w/ Aeon Pts { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[35];HUDMSG_ALPHA,2144,cr_red,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[229] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[35],s:" \cj+ ",d:MiscellaneousVars[229];HUDMSG_ALPHA,2144,cr_red,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } else { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[35];HUDMSG_ALPHA,2144,cr_red,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[229] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[35],s:" \cj+ ",d:MiscellaneousVars[229];HUDMSG_ALPHA,2144,cr_red,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // MiscellaneousVars[2035] = Defense // Defense xpos = ScreenXOffset + 663.0; ypos = ScreenYOffset + 836.0; SetFont("STATDEF"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2145,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 680.0 + 0.1; // 680.1 if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 838.0; // 766.0 SetFont("DQHUDFONTSML"); if (MiscellaneousVars[24] == 2) // Selected Defense w/ Aeon Pts { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[32];HUDMSG_ALPHA,2146,cr_olive,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[226] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[32],s:" \cj+ ",d:MiscellaneousVars[226];HUDMSG_ALPHA,2146,cr_olive,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } else { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[32];HUDMSG_ALPHA,2146,cr_olive,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[226] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[32],s:" \cj+ ",d:MiscellaneousVars[226];HUDMSG_ALPHA,2146,cr_olive,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // MiscellaneousVars[2036] = Sorcery // Sorcery xpos = ScreenXOffset + 663.0; ypos = ScreenYOffset + 867.0; SetFont("STATSORC"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2147,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 680.0 + 0.1; // 680.1 if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 869.0; // 766.0 SetFont("DQHUDFONTSML"); if (MiscellaneousVars[24] == 4) // Selected Sorcery w/ Aeon Pts { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[34];HUDMSG_ALPHA,2148,CR_DARKGRAY,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[228] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[34],s:" \cj+ ",d:MiscellaneousVars[228];HUDMSG_ALPHA,2148,CR_DARKGRAY,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } else { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[Purple]",d:MiscellaneousVars[34];HUDMSG_ALPHA,2148,CR_DARKGRAY,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[228] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[Purple]",d:MiscellaneousVars[34],s:" \cj+ ",d:MiscellaneousVars[228];HUDMSG_ALPHA,2148,CR_DARKGRAY,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // MiscellaneousVars[2037] = Therapeusis // Therapeusis xpos = ScreenXOffset + 663.0; ypos = ScreenYOffset + 898.0; SetFont("STATTHER"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2149,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 680.0 + 0.1; // 680.1 if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 900.0; // 766.0 SetFont("DQHUDFONTSML"); if (MiscellaneousVars[24] == 6) // Selected Therapeusis w/ Aeon Pts { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[36];HUDMSG_ALPHA,2150,cr_gray,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[230] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[36],s:" \cj+ ",d:MiscellaneousVars[230];HUDMSG_ALPHA,2150,cr_gray,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } else { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[36];HUDMSG_ALPHA,2150,cr_gray,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[230] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[36],s:" \cj+ ",d:MiscellaneousVars[230];HUDMSG_ALPHA,2150,cr_gray,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // MiscellaneousVars[2038] = Agility // Agility xpos = ScreenXOffset + 663.0; ypos = ScreenYOffset + 929.0; SetFont("STATAGL"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2151,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 680.0 + 0.1; // 680.1 if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 931.0; // 766.0 SetFont("DQHUDFONTSML"); if (MiscellaneousVars[24] == 1) // Selected Agility w/ Aeon Pts { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[31];HUDMSG_ALPHA,2152,cr_lightblue,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[225] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[31],s:" \cj+ ",d:MiscellaneousVars[225];HUDMSG_ALPHA,2152,cr_lightblue,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } else { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[31];HUDMSG_ALPHA,2152,cr_lightblue,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[225] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[31],s:" \cj+ ",d:MiscellaneousVars[225];HUDMSG_ALPHA,2152,cr_lightblue,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // MiscellaneousVars[2039] = Deftness // Deftness xpos = ScreenXOffset + 663.0; ypos = ScreenYOffset + 960.0; SetFont("STATDFTN"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2153,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 680.0 + 0.1; // 680.1 if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 962.0; // 766.0 SetFont("DQHUDFONTSML"); if (MiscellaneousVars[24] == 3) // Selected Deftness w/ Aeon Pts { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[33];HUDMSG_ALPHA,2154,cr_green,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[227] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"\c[blue]",d:MiscellaneousVars[33],s:" \cj+ ",d:MiscellaneousVars[227];HUDMSG_ALPHA,2154,cr_green,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } else { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[33];HUDMSG_ALPHA,2154,cr_green,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[227] > 0) { msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[33],s:" \cj+ ",d:MiscellaneousVars[227];HUDMSG_ALPHA,2154,cr_green,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // Balance xpos = ScreenXOffset + 663.0; ypos = ScreenYOffset + 1003.0; SetFont("STATMASS"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2155,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 680.0 + 0.1; // 680.1 if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 1005.0; // 766.0 SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[201];HUDMSG_ALPHA,2156,cr_olive,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Jumping xpos = ScreenXOffset + 663.0; if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 1034.0; SetFont("STATJUMP"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2157,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 680.0 + 0.1; // 680.1 if (xpos < 0.0) xpos -= 0.2; ypos = ScreenYOffset + 1036.0; // 766.0 SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:MiscellaneousVars[200];HUDMSG_ALPHA,2158,cr_cyan,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //******************************************* //**Buff/Debuff Icons/Timers [2161 to 2200]** //******************************************* int blinktimethreshold = 4; int DisplayedTime; // Y +7 per icon's timer // Lower Row DisplayedTime = 999; // Testing number for displays // Divine Avatar if (PowerupTimer[7] > 0) { DisplayedTime = PowerupTimer[7] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 213.0; ypos = ScreenYOffset + 846.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2052; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2161,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 213.0; ypos = ScreenYOffset + 839.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2053; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STBFDVAV"); HudMessage(s:"A";HUDMSG_ALPHA,2162,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Oomph / Blunt PowerUpCheckThing = 0; if (PowerupTimer[13] > 0) PowerUpCheckThing += 1; // Blunt if (PowerupTimer[10] > 0) PowerUpCheckThing += 1; // Oomph if (PowerUpCheckThing > 0) { if (PowerupTimer[13] > 0) DisplayedTime = PowerupTimer[13] / 35; // Blunt if (PowerupTimer[10] > 0) DisplayedTime = PowerupTimer[10] / 35; // Oomph if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 246.0; ypos = ScreenYOffset + 846.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2054; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2163,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 246.0; ypos = ScreenYOffset + 839.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2055; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } if (PowerupTimer[13] > 0) SetFont("STDBBLNT"); // Blunt if (PowerupTimer[10] > 0) SetFont("STBFOMPH"); // Oomph HudMessage(s:"A";HUDMSG_ALPHA,2164,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Buff / Sap PowerUpCheckThing = 0; if (PowerupTimer[14] > 0) PowerUpCheckThing += 1; // Sap if (PowerupTimer[11] > 0) PowerUpCheckThing += 1; // Buff if (PowerUpCheckThing > 0) { if (PowerupTimer[14] > 0) DisplayedTime = PowerupTimer[14] / 35; // Sap if (PowerupTimer[11] > 0) DisplayedTime = PowerupTimer[11] / 35; // Buff if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 279.0; ypos = ScreenYOffset + 846.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2056; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2165,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 279.0; ypos = ScreenYOffset + 839.0; // 839.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2057; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } if (PowerupTimer[14] > 0) SetFont("STDBSAP"); // Sap if (PowerupTimer[11] > 0) SetFont("STBFBUFF"); // Buff HudMessage(s:"A";HUDMSG_ALPHA,2166,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Accelerate / Decelerate PowerUpCheckThing = 0; if (PowerupTimer[15] > 0) PowerUpCheckThing += 1; // Decelerate if (PowerupTimer[12] > 0) PowerUpCheckThing += 1; // Accelerate if (PowerUpCheckThing > 0) { if (PowerupTimer[15] > 0) DisplayedTime = PowerupTimer[15] / 35; // Decelerate if (PowerupTimer[12] > 0) DisplayedTime = PowerupTimer[12] / 35; // Accelerate if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 312.0; ypos = ScreenYOffset + 846.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2058; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2167,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 312.0; ypos = ScreenYOffset + 839.0; // 839.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2059; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } if (PowerupTimer[15] > 0) SetFont("STDBDECL"); // Decelerate if (PowerupTimer[12] > 0) SetFont("STBFACEL"); // Accelerate HudMessage(s:"A";HUDMSG_ALPHA,2168,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Poison if (PowerupTimer[16] > 0) { DisplayedTime = PowerupTimer[16] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 345.0; ypos = ScreenYOffset + 846.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2060; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2169,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 345.0; ypos = ScreenYOffset + 839.0; // 839.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2061; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STDBPOIS"); HudMessage(s:"A";HUDMSG_ALPHA,2170,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Corrosion if (PowerupTimer[17] > 0) { DisplayedTime = PowerupTimer[17] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 378.0; ypos = ScreenYOffset + 846.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2062; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2171,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 378.0; ypos = ScreenYOffset + 839.0; // 839.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2063; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STDBCORR"); HudMessage(s:"A";HUDMSG_ALPHA,2172,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Fatigue if (PowerupTimer[18] > 0) { DisplayedTime = PowerupTimer[18] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 411.0; ypos = ScreenYOffset + 846.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2064; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2173,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 411.0; ypos = ScreenYOffset + 839.0; // 839.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2065; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STDBFATI"); HudMessage(s:"A";HUDMSG_ALPHA,2174,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Blind if (PowerupTimer[19] > 0) { DisplayedTime = PowerupTimer[19] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 444.0; ypos = ScreenYOffset + 846.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2066; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2175,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 444.0; ypos = ScreenYOffset + 839.0; // 839.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2067; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STDBBLND"); HudMessage(s:"A";HUDMSG_ALPHA,2176,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Sleep if (PowerupTimer[20] > 0) { DisplayedTime = PowerupTimer[20] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 477.0; ypos = ScreenYOffset + 846.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2068; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2177,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 477.0; ypos = ScreenYOffset + 839.0; // 839.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2069; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STDBSLEP"); HudMessage(s:"A";HUDMSG_ALPHA,2178,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Silence if (PowerupTimer[21] > 0) { DisplayedTime = PowerupTimer[21] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 510.0; ypos = ScreenYOffset + 846.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2070; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2179,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 510.0; ypos = ScreenYOffset + 839.0; // 839.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2071; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STDBMUTE"); HudMessage(s:"A";HUDMSG_ALPHA,2180,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // X/Y +33 per icon // Lower Row // Flight if (PowerupTimer[2] > 0) { DisplayedTime = PowerupTimer[2] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 213.0; ypos = ScreenYOffset + 813.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2072; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2181,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 213.0; // 213.0 ypos = ScreenYOffset + 806.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2073; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STBFFLYI"); HudMessage(s:"A";HUDMSG_ALPHA,2182,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Partial Invisibility if (PowerupTimer[1] > 0) { DisplayedTime = PowerupTimer[1] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 246.0; ypos = ScreenYOffset + 813.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2074; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2183,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 246.0; ypos = ScreenYOffset + 806.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2075; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STBFPTIN"); HudMessage(s:"A";HUDMSG_ALPHA,2184,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Stealth / Complete Invisibility if (PowerupTimer[3] > 0) { DisplayedTime = PowerupTimer[3] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 279.0; ypos = ScreenYOffset + 813.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2076; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2185,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 279.0; ypos = ScreenYOffset + 806.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2077; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STBFSTEL"); HudMessage(s:"A";HUDMSG_ALPHA,2186,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Night Vision if (PowerupTimer[0] > 0) { DisplayedTime = PowerupTimer[0] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 312.0; ypos = ScreenYOffset + 813.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2078; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2187,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 312.0; ypos = ScreenYOffset + 806.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2079; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STBFNGVI"); HudMessage(s:"A";HUDMSG_ALPHA,2188,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // BioShield / RadSuit / IronFeet if (PowerupTimer[22] > 0) { DisplayedTime = PowerupTimer[22] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 345.0; ypos = ScreenYOffset + 813.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2080; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2189,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 345.0; ypos = ScreenYOffset + 806.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2081; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STBFIRFT"); HudMessage(s:"A";HUDMSG_ALPHA,2190,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Invulnerability if (PowerupTimer[4] > 0) { DisplayedTime = PowerupTimer[4] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 378.0; ypos = ScreenYOffset + 813.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2082; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2191,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 378.0; ypos = ScreenYOffset + 806.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2083; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STBFINVU"); HudMessage(s:"A";HUDMSG_ALPHA,2192,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Berserk if (PowerupTimer[23] > 0) { DisplayedTime = PowerupTimer[23] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 411.0; ypos = ScreenYOffset + 813.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2084; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2193,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 411.0; ypos = ScreenYOffset + 806.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2085; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STBFBERS"); HudMessage(s:"A";HUDMSG_ALPHA,2194,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Spreader Aura [Both level 1 and 2] PowerUpCheckThing = 0; if (PowerupTimer[8] > 0) PowerUpCheckThing += 1; // Spread Aura Lv. 1 if (PowerupTimer[9] > 0) PowerUpCheckThing += 1; // Spread Aura Lv. 2 if (PowerUpCheckThing > 0) { if (PowerupTimer[8] > 0) DisplayedTime = PowerupTimer[8] / 35; // Spread Aura Lv. 1 if (PowerupTimer[9] > 0) DisplayedTime = PowerupTimer[9] / 35; // Spread Aura Lv. 2 if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 444.0; ypos = ScreenYOffset + 813.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2086; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2195,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 444.0; ypos = ScreenYOffset + 806.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2087; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } if (PowerupTimer[8] > 0) SetFont("STBFSPR1"); // Spread Aura Lv. 1 if (PowerupTimer[9] > 0) SetFont("STBFSPR2"); // Spread Aura Lv. 2 HudMessage(s:"A";HUDMSG_ALPHA,2196,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Fear Aura if (PowerupTimer[6] > 0) { DisplayedTime = PowerupTimer[6] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 477.0; ypos = ScreenYOffset + 813.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2088; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2197,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 477.0; ypos = ScreenYOffset + 806.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2089; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STBFFRAR"); HudMessage(s:"A";HUDMSG_ALPHA,2198,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Time Freezer if (PowerupTimer[5] > 0) { DisplayedTime = PowerupTimer[5] / 35; if (DisplayedTime > 999) DisplayedTime = 999; xpos = ScreenXOffset + 510.0; ypos = ScreenYOffset + 813.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2090; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.875; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.86; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.845; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.83; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.815; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.80; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.785; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.77; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.755; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.74; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.725; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.71; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.695; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.68; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.665; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.65; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.635; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.62; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("DQHUDFONTSTATUS"); HudMessage(d:DisplayedTime;HUDMSG_ALPHA,2199,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); xpos = ScreenXOffset + 510.0; ypos = ScreenYOffset + 806.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); tempvar1 = 2091; if (DisplayedTime <= blinktimethreshold) { MiscellaneousVars[tempvar1] += 1; if (MiscellaneousVars[tempvar1] == 1 || MiscellaneousVars[tempvar1] == 35) msgalpha = 0.75; if (MiscellaneousVars[tempvar1] == 2 || MiscellaneousVars[tempvar1] == 34) msgalpha = 0.72; if (MiscellaneousVars[tempvar1] == 3 || MiscellaneousVars[tempvar1] == 33) msgalpha = 0.69; if (MiscellaneousVars[tempvar1] == 4 || MiscellaneousVars[tempvar1] == 32) msgalpha = 0.66; if (MiscellaneousVars[tempvar1] == 5 || MiscellaneousVars[tempvar1] == 31) msgalpha = 0.63; if (MiscellaneousVars[tempvar1] == 6 || MiscellaneousVars[tempvar1] == 30) msgalpha = 0.60; if (MiscellaneousVars[tempvar1] == 7 || MiscellaneousVars[tempvar1] == 29) msgalpha = 0.57; if (MiscellaneousVars[tempvar1] == 8 || MiscellaneousVars[tempvar1] == 28) msgalpha = 0.54; if (MiscellaneousVars[tempvar1] == 9 || MiscellaneousVars[tempvar1] == 27) msgalpha = 0.51; if (MiscellaneousVars[tempvar1] == 10 || MiscellaneousVars[tempvar1] == 26) msgalpha = 0.48; if (MiscellaneousVars[tempvar1] == 11 || MiscellaneousVars[tempvar1] == 25) msgalpha = 0.45; if (MiscellaneousVars[tempvar1] == 12 || MiscellaneousVars[tempvar1] == 24) msgalpha = 0.42; if (MiscellaneousVars[tempvar1] == 13 || MiscellaneousVars[tempvar1] == 23) msgalpha = 0.39; if (MiscellaneousVars[tempvar1] == 14 || MiscellaneousVars[tempvar1] == 22) msgalpha = 0.36; if (MiscellaneousVars[tempvar1] == 15 || MiscellaneousVars[tempvar1] == 21) msgalpha = 0.33; if (MiscellaneousVars[tempvar1] == 16 || MiscellaneousVars[tempvar1] == 20) msgalpha = 0.30; if (MiscellaneousVars[tempvar1] == 17 || MiscellaneousVars[tempvar1] == 19) msgalpha = 0.27; if (MiscellaneousVars[tempvar1] == 18) msgalpha = 0.24; if (MiscellaneousVars[tempvar1] >= 35) MiscellaneousVars[tempvar1] -= 34; msgalpha = FixedMul(msgalpha,overallhudalpha); } SetFont("STBFTMFR"); HudMessage(s:"A";HUDMSG_ALPHA,2200,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //************************ //************************ //************************ //************************ //************************ //******* Middle ******* //************************ //************************ //************************ //************************ //************************ //****************** //***Lower Middle*** //****************** //*************************************** //**Buff/Debuff Messages [2201 to 2205]** //*************************************** // 2201 - Buff/Debuff Message #1 // 2202 - Buff/Debuff Message #2 // 2203 - Buff/Debuff Message #3 // 2204 - Buff/Debuff Message #4 // 2205 - Buff/Debuff Message #5 str buffmsg1 = ""; str buffmsg2 = ""; str buffmsg3 = ""; str buffmsg4 = ""; str buffmsg5 = ""; SetHudSize(1080,810,0); // 1080x810 for Buff Messages if (MiscellaneousVars[2040] > 0) { if (MiscellaneousVars[2045] == -9) buffmsg1 = "\c[gold]YOUR DIVINE WRATH IS UNLEASED!!"; if (MiscellaneousVars[2045] == -8) buffmsg1 = "\c[olive]SAFE PASSAGE OVER HAZARDS!!"; if (MiscellaneousVars[2045] == -7) buffmsg1 = "\c[darkgreen]THE DARKNESS VANISHES!!"; if (MiscellaneousVars[2045] == -6) buffmsg1 = "\c[cream]YOU MOVE UNDETECTED!!"; if (MiscellaneousVars[2045] == -5) buffmsg1 = "\c[green]IMPERVIOUS TO DAMAGE!!"; if (MiscellaneousVars[2045] == -4) buffmsg1 = "\c[gold]TIME STOPS AROUND YOU!!"; if (MiscellaneousVars[2045] == -3) buffmsg1 = "\c[gold]YOUR PRESENSE SCARES ENEMIES!!"; if (MiscellaneousVars[2045] == -2) buffmsg1 = "\c[lightblue]YOU CAN FLY!!"; if (MiscellaneousVars[2045] == -1) buffmsg1 = "\c[purple]EVASION INCREASED!!"; if (MiscellaneousVars[2045] == 0) buffmsg1 = "\c[red]ATTACK INCREASED!!"; if (MiscellaneousVars[2045] == 1) buffmsg1 = "\c[olive]DEFENSE INCREASED!!"; if (MiscellaneousVars[2045] == 2) buffmsg1 = "\c[lightblue]SPEED INCREASED!!"; if (MiscellaneousVars[2045] == 3) buffmsg1 = "\c[gold]ATTACK/DEFENSE INCREASED!!"; if (MiscellaneousVars[2045] == 4) buffmsg1 = "\c[red]MELEE DAMAGE TIMES 10!!"; if (MiscellaneousVars[2045] == 5) buffmsg1 = "\c[gold]ALL POWER BOOSTED 4X!!"; if (MiscellaneousVars[2045] == 6) buffmsg1 = "\c[olive]TRIPLE ATTACKS!!"; if (MiscellaneousVars[2045] == 7) buffmsg1 = "\c[olive]SEPTUPLE ATTACKS!!"; if (MiscellaneousVars[2045] == 10) buffmsg1 = "\c[red]ATTACK DECREASED!!"; if (MiscellaneousVars[2045] == 11) buffmsg1 = "\c[olive]DEFENSE DECREASED!!"; if (MiscellaneousVars[2045] == 12) buffmsg1 = "\c[lightblue]SPEED DECREASED!!"; if (MiscellaneousVars[2045] == 13) buffmsg1 = "\c[darkgreen]POISONED!!"; if (MiscellaneousVars[2045] == 14) buffmsg1 = "\c[purple]BLINDED!!"; if (MiscellaneousVars[2045] == 15) buffmsg1 = "\c[cream]ASLEEP!!"; if (MiscellaneousVars[2045] == 16) buffmsg1 = "\c[green]SPELLS SEALED!!"; if (MiscellaneousVars[2045] == 17) buffmsg1 = "\c[brick]YOU'RE EXHAUSTED!!"; if (MiscellaneousVars[2045] == 25) buffmsg1 = "\c[gold]ARCANA FORCE!"; xpos = 540.0; // MiscFixedVars[1]; [1080] ypos = ScreenYOffset + 652.0; // 696 // MiscFixedVars[2]; [810] SetFont("DQHUDFONTSML"); // DQHUDFONTSML // DQHUDFONTSTATUS msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:buffmsg1;HUDMSG_ALPHA,2201,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[2041] > 0) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:buffmsg2;HUDMSG_ALPHA,2202,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[2042] > 0) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:buffmsg3;HUDMSG_ALPHA,2203,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[2043] > 0) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:buffmsg4;HUDMSG_ALPHA,2204,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[2044] > 0) { msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:buffmsg5;HUDMSG_ALPHA,2205,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } SetHudSize(NewHUDWidth,NewHUDHeight,0); // Since 1920x1080 isn't truly "supported" [ZDOOM(TM(TM(TM))), etc] :V xpos = MiscFixedVars[1]; ypos = MiscFixedVars[2]; xpos = MiscFixedVars[3]; ypos = MiscFixedVars[4]; xpos = MiscFixedVars[5]; ypos = MiscFixedVars[6]; xpos = MiscFixedVars[7]; ypos = MiscFixedVars[8]; xpos = MiscFixedVars[9]; ypos = MiscFixedVars[10]; xpos = MiscFixedVars[11]; ypos = MiscFixedVars[12]; xpos = MiscFixedVars[13]; ypos = MiscFixedVars[14]; xpos = MiscFixedVars[15]; ypos = MiscFixedVars[16]; xpos = MiscFixedVars[17]; ypos = MiscFixedVars[18]; xpos = MiscFixedVars[19]; ypos = MiscFixedVars[20]; // Base Position for all Meters int basexpos = 592.0; int baseypos = 1024.0; // AIR Meter [2251-2256] int currentair = GetAirSupply(0); int maxair = 700; if (currentair < 0) currentair = 0; if (currentair < maxair && MiscellaneousVars[25001] > 0 && MiscellaneousVars[25003] >= 3) { baseypos -= 32.0; // "Air" Text [2251] xpos = basexpos; // 1149.0; ypos = ScreenYOffset + baseypos; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("DQHUDFONTSML"); HudMessage(s:"AIR";HUDMSG_ALPHA,2251,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); int currentair2 = currentair / 35; int maxair2 = maxair / 35; WholeValue = ((currentair * 10000) / maxair) / 100; ModuloValue = ((currentair * 10000) / maxair) % 100; // "Air" Amounts [2252] xpos = basexpos + 140.0; // 1289.0; ypos = ScreenYOffset + baseypos + 6.0; // 1028.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); //HudMessage(d:currentair2,s:"/",d:maxair2;HUDMSG_ALPHA,2252,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (ModuloValue > -1 && ModuloValue < 10) HudMessage(d:WholeValue,s:".0",d:ModuloValue,s:"%";HUDMSG_ALPHA,2252,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:WholeValue,s:".",d:ModuloValue,s:"%";HUDMSG_ALPHA,2252,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudPrimaryMeters == 1) { // Air Meter Empty "Glow" Border [2253] xpos = basexpos + 137.0; // 1291.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("AIBFOCUS"); if (currentair <= 0) { HudMessage(s:"A";HUDMSG_ALPHA,2253,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Air Meter Border [2254] xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("AIBFRAME"); // SetFont("SCBFRAME"); HudMessage(s:"A";HUDMSG_ALPHA,2254,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Air Meter Notches [2255] if (maxair != 0) { // Normal fontname = "AIBFN"; fontnum = currentair * 200 / maxair; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"AIBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"AIBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"AIBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2255,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // "Air" Meter Glass [2256] xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; SetFont("AIBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2256,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } xpos = MiscFixedVars[1]; ypos = MiscFixedVars[2]; int mkilled = GetLevelInfo (LEVELINFO_KILLED_MONSTERS), mtotal = GetLevelInfo (LEVELINFO_TOTAL_MONSTERS), ifound = GetLevelInfo (LEVELINFO_FOUND_ITEMS), itotal = GetLevelInfo (LEVELINFO_TOTAL_ITEMS), sfound = GetLevelInfo (LEVELINFO_FOUND_SECRETS), stotal = GetLevelInfo (LEVELINFO_TOTAL_SECRETS); if (GetCVar("dvdshud_showlevelstats") > 0) { // Items Meter [2257-2262] CurrentValue = ifound; MaxValue = itotal; if (MaxValue > 0) { baseypos -= 32.0; // "Item" Text [2257] xpos = basexpos; // 1149.0; ypos = ScreenYOffset + baseypos; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("DQHUDFONTSML"); HudMessage(s:"ITEM";HUDMSG_ALPHA,2257,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // "Item" Amounts [2258] xpos = basexpos + 140.0; // 1289.0; ypos = ScreenYOffset + baseypos + 6.0; // 1028.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:CurrentValue,s:"/",d:MaxValue;HUDMSG_ALPHA,2258,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudPrimaryMeters == 1) { // Item Meter "Glow" Border [2259] xpos = basexpos + 137.0; // 1291.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("AIBFOCUS"); if (CurrentValue >= MaxValue) { HudMessage(s:"A";HUDMSG_ALPHA,2259,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Item Meter Border [2260] xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("AIBFRAME"); // SetFont("SCBFRAME"); HudMessage(s:"A";HUDMSG_ALPHA,2260,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Item Meter Notches [2261] if (MaxValue != 0) { // Normal fontname = "AIBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"AIBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"AIBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"AIBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2261,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // "Item" Meter Glass [2262] xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; SetFont("AIBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2262,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // Secrets Meter [2263-2268] CurrentValue = sfound; MaxValue = stotal; if (MaxValue > 0) { baseypos -= 32.0; // "Secr" Text [2263] xpos = basexpos; // 1149.0; ypos = ScreenYOffset + baseypos; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("DQHUDFONTSML"); HudMessage(s:"SECR";HUDMSG_ALPHA,2263,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // "Secret" Amounts [2264] xpos = basexpos + 140.0; // 1289.0; ypos = ScreenYOffset + baseypos + 6.0; // 1028.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:CurrentValue,s:"/",d:MaxValue;HUDMSG_ALPHA,2264,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudPrimaryMeters == 1) { // Secret Meter "Glow" Border [2265] xpos = basexpos + 137.0; // 1291.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("SMBFULDR"); if (CurrentValue >= MaxValue) { HudMessage(s:"A";HUDMSG_ALPHA,2265,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Secret Meter Border [2266] xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("SMBFRAME"); // SetFont("SCBFRAME"); HudMessage(s:"A";HUDMSG_ALPHA,2266,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Secret Meter Notches [2267] if (MaxValue != 0) { // Normal fontname = "SMBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"SMBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"SMBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"SMBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2267,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // "Secret" Meter Glass [2268] xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; SetFont("SMBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2268,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // Secrets Meter [2269-2274] CurrentValue = mkilled; MaxValue = mtotal; if (MaxValue > 0) { baseypos -= 32.0; // "KILL" Text [2269] xpos = basexpos; // 1149.0; ypos = ScreenYOffset + baseypos; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("DQHUDFONTSML"); HudMessage(s:"KILL";HUDMSG_ALPHA,2269,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // "Kill" Amounts [2270] xpos = basexpos + 140.0; // 1289.0; ypos = ScreenYOffset + baseypos + 6.0; // 1028.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:CurrentValue,s:"/",d:MaxValue;HUDMSG_ALPHA,2270,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (HudPrimaryMeters == 1) { // Kill Meter "Glow" Border [2271] xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("HPBFCRIT"); if (CurrentValue >= MaxValue) { HudMessage(s:"A";HUDMSG_ALPHA,2271,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Kill Meter Border [2272] xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("HPBFRAME"); // SetFont("SCBFRAME"); HudMessage(s:"A";HUDMSG_ALPHA,2272,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // Kill Meter Notches [2273] if (MaxValue != 0) { // Normal fontname = "HPBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"HPBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"HPBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"HPBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2273,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // "Kill" Meter Glass [2274] xpos = basexpos + 137.0; // 1289.0; ypos = ScreenYOffset + baseypos; // 1028.0; // 1060.0; SetFont("HPBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2274,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } //************************ //************************ //************************ //************************ //************************ //*******Right Side******* //************************ //************************ //************************ //************************ //************************ ScreenXOffset = GetCVar("dvdshud_widescreenxoffset") * 1.0; //***************** //***Lower Right*** //***************** ScreenYOffset = GetCVar("dvdshud_widescreenyoffset") * 1.0; int showmanabar = 0; int showetherstock = 0; //************************************************************ //**Weapon/Ammo Display and Sceptre-EXP meter [2211 to 2230]** //************************************************************ // 2211 - Spin Attack Indicator Icon [Weapon/Ammo Display and Sceptre-EXP meter] // 2212 - "AMMO" type label / Level Label and Amount [Hellcore] [Weapon/Ammo Display and Sceptre-EXP meter] // 2213 - "AMMO" Amounts / Sceptre EXP [Weapon/Ammo Display and Sceptre-EXP meter] // 2214 - "AMMO" Meter Empty "Glow" Border [Weapon/Ammo Display and Sceptre-EXP meter] // 2215 - "AMMO" Meter / Sceptre EXP Meter Border [Weapon/Ammo Display and Sceptre-EXP meter] // 2216 - "AMMO" Meter Notches / Sceptre Meter Notches [Weapon/Ammo Display and Sceptre-EXP meter] // 2217 - "AMMO" Meter / Sceptre EXP Meter Glass [Weapon/Ammo Display and Sceptre-EXP meter] // // 2221 Weapon OverIcon #1 [Weapon/Ammo Display and Sceptre-EXP meter] // 2222 Weapon UnderIcon #1 [for Sigil outline for part amount display] // 2223 - Tome of Power Spell Cost 1 [Heretic] // 2224 - Tome of Power Spell Cost 2 [Heretic] // 2225 - "HEAT"/"MP" type label / Level Label and Amount [Hellcore] [MinigunHeat/MP Display and meter 2] // 2226 - "HEAT"/"MP" Amounts / Sceptre EXP [MinigunHeat/MP Display and meter 2] // 2227 - "HEAT"/"MP" Meter Empty "Glow" Border [MinigunHeat/MP Display and meter 2] // 2228 - "HEAT"/"MP" Meter / Sceptre EXP Meter Border [MinigunHeat/MP Display and meter 2] // 2229 - "HEAT"/"MP" Meter Notches / Sceptre Meter Notches [MinigunHeat/MP Display and meter 2] // 2230 - "HEAT"/"MP" Meter / Sceptre EXP Meter Glass [MinigunHeat/MP Display and meter 2] // 2231-2241 - Weapon Slot // 2242 - Hell Warrior Shield Level int ammo = 0; // Ammo Values Default to 0 unless a weapon that uses ammo/has an ammo limit is detected int maxammo = 0; // Ammo Values Default to 0 unless a weapon that uses ammo/has an ammo limit is detected int showsecondmeter = 0; // Determines what weapons show a second meter [Minigun Heat & MP (Heretic weapons)] int HellWarriorShieldLevel = MiscellaneousVars[300]; int sigil_pieces = MiscellaneousVars[25038]; int sigil_mode = MiscellaneousVars[25047]; // Ammo Type/Amount Checks // Flora-Specific Weapons If (StrIcmp(weapon, "DiarisLongbow") == 0) { ammo = MiscellaneousVars[7401]; maxammo = MiscellaneousVars[7501]; } If (StrIcmp(weapon, "PoisonNeedle") == 0) { ammo = MiscellaneousVars[7402]; maxammo = MiscellaneousVars[7502]; } // Marine Specific If (StrIcmp(weapon, "Pistol2") == 0 || StrIcmp(weapon, "DualPistols") == 0 || StrIcmp(weapon, "Chaingun2") == 0 || StrIcmp(weapon, "Minigun") == 0) { ammo = MiscellaneousVars[7403]; maxammo = MiscellaneousVars[7503]; if (StrIcmp(weapon, "Minigun") == 0) showsecondmeter = 1; } If (StrIcmp(weapon, "Rifle") == 0) { ammo = MiscellaneousVars[7441]; maxammo = MiscellaneousVars[7541]; } If (StrIcmp(weapon, "Shotgun2") == 0 || StrIcmp(weapon, "SuperShotgun2") == 0) { ammo = MiscellaneousVars[7404]; maxammo = MiscellaneousVars[7504]; } If (StrIcmp(weapon, "RocketLauncher2") == 0 || StrIcmp(weapon, "KDiZDGrenadeLauncher") == 0) { ammo = MiscellaneousVars[7405]; maxammo = MiscellaneousVars[7505]; } If (StrIcmp(weapon, "PlasmaRifle2") == 0 || StrIcmp(weapon, "Railgun2") == 0 || StrIcmp(weapon, "Repeater2") == 0 || StrIcmp(weapon, "Karasawa2") == 0 || StrIcmp(weapon, "BFG90002") == 0) { ammo = MiscellaneousVars[7406]; maxammo = MiscellaneousVars[7506]; if (StrIcmp(weapon, "Railgun2") == 0) showsecondmeter = 1; } // Circus2-Exclusive Checks If (StrIcmp(weapon, "ClownGrenadeNew") == 0) { ammo = MiscellaneousVars[7444]; maxammo = MiscellaneousVars[7544]; } If (StrIcmp(weapon, "GutFlingerNew") == 0 || StrIcmp(weapon, "GasRocketLauncherNew") == 0) { ammo = MiscellaneousVars[7445]; maxammo = MiscellaneousVars[7545]; } If (StrIcmp(weapon, "GoreBalloonNew") == 0) { ammo = MiscellaneousVars[7443]; maxammo = MiscellaneousVars[7543]; } If (StrIcmp(weapon, "PopcornGunNew") == 0) { ammo = MiscellaneousVars[7442]; maxammo = MiscellaneousVars[7542]; } If (StrIcmp(weapon, "CrazyBall2New") == 0) { ammo = MiscellaneousVars[7446]; maxammo = MiscellaneousVars[7546]; } // Heretic-Exclusive Checks If (StrIcmp(weapon, "GoldWandNew") == 0 || StrIcmp(weapon, "DualGoldWandNew") == 0) { ammo = MiscellaneousVars[7411]; maxammo = MiscellaneousVars[7511]; showsecondmeter = 1; } If (StrIcmp(weapon, "CrossbowNew") == 0 || StrIcmp(weapon, "DualCrossbowNew") == 0) { ammo = MiscellaneousVars[7412]; maxammo = MiscellaneousVars[7512]; showsecondmeter = 1; } If (StrIcmp(weapon, "SuperCrossbowNew") == 0 || StrIcmp(weapon, "DualSuperCrossbowNew") == 0) { ammo = MiscellaneousVars[7412]; maxammo = MiscellaneousVars[7512]; showsecondmeter = 1; } If (StrIcmp(weapon, "DragonClawNew") == 0 || StrIcmp(weapon, "DualDragonClawNew") == 0) { ammo = MiscellaneousVars[7413]; maxammo = MiscellaneousVars[7513]; showsecondmeter = 1; } If (StrIcmp(weapon, "PhoenixRodNew") == 0 || StrIcmp(weapon, "DualPhoenixRodNew") == 0) { ammo = MiscellaneousVars[7414]; maxammo = MiscellaneousVars[7514]; showsecondmeter = 1; } If (StrIcmp(weapon, "HellStaffNew") == 0 || StrIcmp(weapon, "DualHellStaffNew") == 0) { ammo = MiscellaneousVars[7415]; maxammo = MiscellaneousVars[7515]; showsecondmeter = 1; } If (StrIcmp(weapon, "FiremaceNew") == 0 || StrIcmp(weapon, "DualFiremaceNew") == 0) { ammo = MiscellaneousVars[7416]; maxammo = MiscellaneousVars[7516]; showsecondmeter = 1; } If (StrIcmp(weapon, "DSparilStaff") == 0 || StrIcmp(weapon, "DualDSparilStaff") == 0) { ammo = MiscellaneousVars[7413]; maxammo = MiscellaneousVars[7513]; showsecondmeter = 1; } // STRIFE-exclusive checks If (StrIcmp(weapon, "StrifeCrossbowNew") == 0 || StrIcmp(weapon, "StrifeCrossbowDualNew") == 0) { ammo = MiscellaneousVars[7421]; maxammo = MiscellaneousVars[7521]; } If (StrIcmp(weapon, "StrifeCrossbow2New") == 0 || StrIcmp(weapon, "StrifeCrossbow2DualNew") == 0) { ammo = MiscellaneousVars[7422]; maxammo = MiscellaneousVars[7522]; } If (StrIcmp(weapon, "AssaultGunNew") == 0 || StrIcmp(weapon, "AssaultGunDualNew") == 0) { ammo = MiscellaneousVars[7423]; maxammo = MiscellaneousVars[7523]; } If (StrIcmp(weapon, "MiniMissileLauncherNew") == 0 || StrIcmp(weapon, "MiniMissileLauncherDualNew") == 0) { ammo = MiscellaneousVars[7424]; maxammo = MiscellaneousVars[7524]; } If (StrIcmp(weapon, "FlameThrowerNew") == 0) { ammo = MiscellaneousVars[7425]; maxammo = MiscellaneousVars[7525]; } If (StrIcmp(weapon, "StrifeGrenadeLauncherNew") == 0) { ammo = MiscellaneousVars[7426]; maxammo = MiscellaneousVars[7526]; } If (StrIcmp(weapon, "StrifeGrenadeLauncher2New") == 0) { ammo = MiscellaneousVars[7427]; maxammo = MiscellaneousVars[7527]; } If (StrIcmp(weapon, "MaulerNew") == 0 || StrIcmp(weapon, "Mauler2New") == 0) { ammo = MiscellaneousVars[7425]; maxammo = MiscellaneousVars[7525]; } If (StrIcmp(weapon, "NNSigil") == 0 || StrIcmp(weapon, "Sigil") == 0) { ammo = MiscellaneousVars[25001]; maxammo = MaxHealthTrue; } // Others If (StrIcmp(weapon, "EvilWarriorShield") == 0) { showmanabar = 1; } If (StrIcmp(weapon, "ImpalerXBow") == 0 || StrIcmp(weapon, "DualImpalerXBow") == 0) { showmanabar = 1; } If (StrIcmp(weapon, "ScepterOfSouls") == 0 || StrIcmp(weapon, "DualScepterOfSouls") == 0) { showmanabar = 1; } If (StrIcmp(weapon, "UnmakerDVDS") == 0 || StrIcmp(weapon, "UnmakerDVDSDual" ) == 0) // Marines' version of the Unmaker runs on MP/Cells instead of MP. { if (MiscellaneousVars[25006] == 0) { showmanabar = 1; } else if (MiscellaneousVars[25006] == 1) { if (CharacterClass != 2) { ammo = MiscellaneousVars[7406]; maxammo = MiscellaneousVars[7506]; } } } If (StrIcmp(weapon, "SapphireWandNew" ) == 0 || StrIcmp(weapon, "DualSapphireWandsNew" ) == 0) { showmanabar = 1; } If (StrIcmp(weapon, "SerpentStaffAilish") == 0) //Ailish's version of the Serpent Staff uses Mana. { showmanabar = 1; } If (showmanabar == 1) { ammo = CurrentMana; maxammo = MaxMana; } If (StrIcmp(weapon, "AChristina") == 0) //Show Ether stock for A. Christina { showetherstock = 1; } // Weapon Icons SetFont("WIEMPTY"); // Ailish-Specific Weapons If (StrIcmp(weapon, "FistAilish") == 0) SetFont("WIFISTF"); If (StrIcmp(weapon, "SauronGauntletsAilish") == 0) SetFont("WISGNLTF"); If (StrIcmp(weapon, "SerpentStaffAilish") == 0) SetFont("WISERPST"); // Petra-Specific Weapons If (StrIcmp(weapon, "FistPetra") == 0) SetFont("WIFISTF"); If (StrIcmp(weapon, "SauronGauntletsPetra") == 0) SetFont("WISGNLTF"); If (StrIcmp(weapon, "AChristina") == 0) SetFont("WIACHRIS"); // Petra-Specific Addons from Boss-type enemies If (StrIcmp(weapon, "AChristinaCyberdemon") == 0) SetFont("WIACHCYB"); If (StrIcmp(weapon, "AChristinaMastermind") == 0) SetFont("WIACHSPI"); If (StrIcmp(weapon, "AChristinaHades") == 0) SetFont("WIACHHOV"); If (StrIcmp(weapon, "AChristinaIronLich") == 0) SetFont("WIACHLCH"); If (StrIcmp(weapon, "AChristinaMaulotaur") == 0) SetFont("WIACHMAU"); If (StrIcmp(weapon, "AChristinaWyvern") == 0) SetFont("WIACHWYV"); If (StrIcmp(weapon, "AChristinaHeresiarch") == 0) SetFont("WIACHHER"); // Special Petra-Specific Addons If (StrIcmp(weapon, "AChristinaPartinias") == 0) SetFont("WIACHPAR"); If (StrIcmp(weapon, "AChristinaRagnarok") == 0) SetFont("WIACHRAG"); // Flora-Specific Weapons If (StrIcmp(weapon, "FistFlora") == 0) { SetFont("WIFISTF"); if (MiscellaneousVars[25013] > 0) SetFont("WIFSTFG"); } // Flora-Specific Weapons If (StrIcmp(weapon, "PoisonNeedle") == 0) { SetFont("WIPSNDLE"); if (MiscellaneousVars[25013] > 0) SetFont("WIPSNDLB"); } If (StrIcmp(weapon, "SauronGauntletsFlora") == 0) SetFont("WISGNLTF"); If (StrIcmp(weapon, "SceptreOfEmpyrea") == 0) SetFont("WISCEPTR"); If (StrIcmp(weapon, "DiarisLongbow") == 0) SetFont("WIDIARIS"); If (StrIcmp(weapon, "ImpSoul") == 0) SetFont("WIHLCR1"); If (StrIcmp(weapon, "DarkImpSoul") == 0) SetFont("WIHLCR2"); If (StrIcmp(weapon, "CacodemonSoul") == 0) SetFont("WIHLCR3"); If (StrIcmp(weapon, "CacolanternSoul") == 0) SetFont("WIHLCR4"); If (StrIcmp(weapon, "AbaddonSoul") == 0) SetFont("WIHLCR5"); If (StrIcmp(weapon, "KnightSoul") == 0) SetFont("WIHLCR6"); If (StrIcmp(weapon, "BaronSoul") == 0) SetFont("WIHLCR7"); If (StrIcmp(weapon, "BelphegorSoul") == 0) SetFont("WIHLCR8"); If (StrIcmp(weapon, "BruiserSoul") == 0) SetFont("WIHLCR9"); If (StrIcmp(weapon, "ArchonSoul") == 0) SetFont("WIHLCR10"); If (StrIcmp(weapon, "PyroDemonSoul") == 0) SetFont("WIHLCR11"); If (StrIcmp(weapon, "IncarnateSoul") == 0) SetFont("WIHLCR12"); If (StrIcmp(weapon, "ArchvileSoul") == 0) SetFont("WIHLCR13"); If (StrIcmp(weapon, "DiabloistSoul") == 0) SetFont("WIHLCR14"); If (StrIcmp(weapon, "BalrogSoul") == 0) SetFont("WIHLCR15"); If (StrIcmp(weapon, "HElementalSoul") == 0) SetFont("WIHLCR16"); If (StrIcmp(weapon, "HOverlordSoul") == 0) SetFont("WIHLCR17"); If (StrIcmp(weapon, "BaseHellcoreWeapon") == 0) { if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 0) SetFont("WIHLCR1"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 1) SetFont("WIHLCR2"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 2) SetFont("WIHLCR3"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 3) SetFont("WIHLCR4"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 4) SetFont("WIHLCR5"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 5) SetFont("WIHLCR6"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 6) SetFont("WIHLCR7"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 7) SetFont("WIHLCR8"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 8) SetFont("WIHLCR9"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 9) SetFont("WIHLCR10"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 10) SetFont("WIHLCR11"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 11) SetFont("WIHLCR12"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 12) SetFont("WIHLCR13"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 13) SetFont("WIHLCR14"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 14) SetFont("WIHLCR15"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 15) SetFont("WIHLCR16"); if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 16) SetFont("WIHLCR17"); } // Deggaris-Specific Weapons If (StrIcmp(weapon, "FistDeggaris") == 0) { SetFont("WIFISTD"); if (MiscellaneousVars[25013] > 0) SetFont("WIFISD2"); } If (StrIcmp(weapon, "SauronGauntlets") == 0) SetFont("WISGNLTD"); // Illucia-Specific Weapons If (StrIcmp(weapon, "FistIllucia") == 0) { SetFont("WIFISTI"); if (MiscellaneousVars[25013] > 0) SetFont("WIFISI2"); } If (StrIcmp(weapon, "SauronGauntletsIllucia") == 0) SetFont("WISGNLTI"); // Marine Weapons If (StrIcmp(weapon, "Chainsaw2") == 0) SetFont("WICNSW"); If (StrIcmp(weapon, "DoubleBladedChainsaw") == 0) SetFont("WIDCNSW"); If (StrIcmp(weapon, "Pistol2") == 0) SetFont("WIPISTL"); If (StrIcmp(weapon, "DualPistols") == 0) SetFont("WIDPISTL"); If (StrIcmp(weapon, "Shotgun2") == 0) SetFont("WISHOTG"); If (StrIcmp(weapon, "SuperShotgun2") == 0) SetFont("WISSHOTG"); If (StrIcmp(weapon, "Chaingun2") == 0) SetFont("WICHAING"); If (StrIcmp(weapon, "Minigun") == 0) SetFont("WIMINIG"); If (StrIcmp(weapon, "RocketLauncher2") == 0) { SetFont("WIROCKLA"); if (MiscellaneousVars[25004] == 0) SetFont("WIROCKL1"); if (MiscellaneousVars[25004] == 1) SetFont("WIROCKL2"); if (MiscellaneousVars[25004] == 2) SetFont("WIROCKL3"); if (MiscellaneousVars[25004] == 3) SetFont("WIROCKL4"); } If (StrIcmp(weapon, "PlasmaRifle2") == 0) SetFont("WIPLSRIF"); If (StrIcmp(weapon, "Railgun2") == 0) SetFont("WIRAILGN"); If (StrIcmp(weapon, "Repeater2") == 0) SetFont("WIREPETR"); If (StrIcmp(weapon, "Karasawa2") == 0) SetFont("WIKAWAS"); If (StrIcmp(weapon, "BFG90002") == 0) SetFont("WIBFG9K"); // Circus2 Weapons If (StrIcmp(weapon, "ClownGrenadeNew") == 0) SetFont("WICLWNGR"); If (StrIcmp(weapon, "GutFlingerNew") == 0) SetFont("WIGUTFLN"); If (StrIcmp(weapon, "GasRocketLauncherNew") == 0) SetFont("WIGASRKT"); If (StrIcmp(weapon, "GoreBalloonNew") == 0) SetFont("WIGORBAL"); If (StrIcmp(weapon, "PopcornGunNew") == 0) SetFont("WIPOPCGN"); If (StrIcmp(weapon, "CrazyBall2New") == 0) SetFont("WICRZBAL"); // Heretic Weapons If (StrIcmp(weapon, "GoldWandNew") == 0) SetFont("WIGWAND1"); If (StrIcmp(weapon, "DualGoldWandNew") == 0) SetFont("WIGWAND2"); If (StrIcmp(weapon, "CrossbowNew") == 0) SetFont("WICRBOW1"); If (StrIcmp(weapon, "DualCrossbowNew") == 0) SetFont("WICRBOW2"); If (StrIcmp(weapon, "SuperCrossbowNew") == 0) SetFont("WISCRBW1"); If (StrIcmp(weapon, "DualSuperCrossbowNew") == 0) SetFont("WISCRBW2"); If (StrIcmp(weapon, "DragonClawNew") == 0) SetFont("WIDCLWS1"); If (StrIcmp(weapon, "DualDragonClawNew") == 0) SetFont("WIDCLWD1"); If (StrIcmp(weapon, "HellStaffNew") == 0) SetFont("WIHELST1"); If (StrIcmp(weapon, "DualHellStaffNew") == 0) SetFont("WIHELST2"); If (StrIcmp(weapon, "PhoenixRodNew") == 0) { SetFont("WIPHNRD1"); if (MiscellaneousVars[10053] > 0) { if (MiscellaneousVars[25005] == 0) SetFont("WIPHNRD3"); if (MiscellaneousVars[25005] == 1) SetFont("WIPHNRD5"); } } If (StrIcmp(weapon, "DualPhoenixRodNew") == 0) { SetFont("WIPHNRD2"); if (MiscellaneousVars[10053] > 0) { if (MiscellaneousVars[25005] == 0) SetFont("WIPHNRD4"); if (MiscellaneousVars[25005] == 1) SetFont("WIPHNRD6"); } } If (StrIcmp(weapon, "FiremaceNew") == 0) SetFont("WIFIRMC1"); If (StrIcmp(weapon, "DualFiremaceNew") == 0) SetFont("WIFIRMC2"); If (StrIcmp(weapon, "DSparilStaff") == 0) SetFont("WIDSTAF1"); If (StrIcmp(weapon, "DualDSparilStaff") == 0) SetFont("WIDSTAF2"); // Strife Weapons If (StrIcmp(weapon, "StrifeCrossbowNew") == 0) SetFont("WICROSS1"); If (StrIcmp(weapon, "StrifeCrossbow2New") == 0) SetFont("WICROSS2"); If (StrIcmp(weapon, "StrifeCrossbowDualNew") == 0) SetFont("WICROSD1"); If (StrIcmp(weapon, "StrifeCrossbow2DualNew") == 0) SetFont("WICROSD2"); If (StrIcmp(weapon, "AssaultGunNew") == 0) SetFont("WIASSTS1"); If (StrIcmp(weapon, "AssaultGunDualNew") == 0) SetFont("WIASSTD1"); If (StrIcmp(weapon, "MiniMissileLauncherNew") == 0) SetFont("WIMMSLS1"); If (StrIcmp(weapon, "MiniMissileLauncherDualNew") == 0) SetFont("WIMMSLD1"); If (StrIcmp(weapon, "FlameThrowerNew") == 0) SetFont("WIFLMS1"); If (StrIcmp(weapon, "StrifeGrenadeLauncherNew") == 0) SetFont("WIGRNDS1"); If (StrIcmp(weapon, "StrifeGrenadeLauncher2New") == 0) SetFont("WIGRNDS1"); If (StrIcmp(weapon, "MaulerNew") == 0) SetFont("WIMALRS1"); If (StrIcmp(weapon, "Mauler2New") == 0) SetFont("WIMALRS1"); If (StrIcmp(weapon, "NNSigil") == 0 || StrIcmp(weapon, "Sigil") == 0) { if (sigil_mode == 1) SetFont("WISIGIL1"); if (sigil_mode == 2) SetFont("WISIGIL2"); if (sigil_mode == 3) SetFont("WISIGIL3"); if (sigil_mode == 4) SetFont("WISIGIL4"); if (sigil_mode == 5) SetFont("WISIGIL5"); if (debughud2 > 0) PrintBold(s:"[9097] Sigil_Mode: ",d:sigil_mode); } // KDIZD Weapons If (StrIcmp(weapon, "Rifle") == 0) SetFont("WIKDRIF"); If (StrIcmp(weapon, "KDiZDGrenadeLauncher") == 0) SetFont("WIKDGRN"); If (StrIcmp(weapon, "EvilWarriorShield") == 0) SetFont("WIEVWASH"); If (StrIcmp(weapon, "SapphireWandNew") == 0) SetFont("WISAPWND"); If (StrIcmp(weapon, "DualSapphireWandsNew") == 0) SetFont("WISAPWN2"); // Strange Aeons If (StrIcmp(weapon, "ImpalerXBow") == 0) SetFont("WIIMPBW"); If (StrIcmp(weapon, "DualImpalerXBow") == 0) SetFont("WIIMPB2"); If (StrIcmp(weapon, "ScepterOfSouls") == 0) SetFont("WISCPSO"); If (StrIcmp(weapon, "DualScepterOfSouls") == 0) SetFont("WISCPS2"); // Doom 64 Weapons If (StrIcmp(weapon, "UnmakerDVDS") == 0) { SetFont("WIUNMAKE"); if (MiscellaneousVars[25007] == 1) SetFont("WIUNMAK1"); if (MiscellaneousVars[25007] == 2) SetFont("WIUNMAK2"); if (MiscellaneousVars[25007] == 3) SetFont("WIUNMAK3"); } If (StrIcmp(weapon, "UnmakerDVDSDual") == 0) { SetFont("WIDUNMAK"); if (MiscellaneousVars[25007] == 1) SetFont("WIDUNMA1"); if (MiscellaneousVars[25007] == 2) SetFont("WIDUNMA2"); if (MiscellaneousVars[25007] == 3) SetFont("WIDUNMA3"); } // Actual Weapon OverIcon Display [2221] xpos = ScreenXOffset + 1288.0; // 1288.0 ypos = ScreenYOffset + 960.0; // 960.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2221,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // 2221 SetFont("WIBLANK"); If (StrIcmp(weapon, "NNSigil") == 0 || StrIcmp(weapon, "Sigil") == 0) { if (sigil_pieces == 1) SetFont("WISIGILA"); if (sigil_pieces == 2) SetFont("WISIGILB"); if (sigil_pieces == 3) SetFont("WISIGILC"); if (sigil_pieces == 4) SetFont("WISIGILD"); if (sigil_pieces == 5) SetFont("WISIGILE"); if (debughud2 > 0) PrintBold(s:"[9143] Sigil_Pieces: ",d:sigil_pieces); } // Weapon UnderIcon #1 [for Sigil outline for part amount display] [2222] xpos = ScreenXOffset + 1288.0; // 1288.0 ypos = ScreenYOffset + 960.0; // 960.0 msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2222,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // 2222 // Tome of Power Spell Cost [Heretic] (2223 & 2224) int TomeCost = 0; int TomeCost2 = 0; // Other Weapons [MP Costs only for Normal and Alt-Fires] TomeCost = MiscellaneousVars[1502]; TomeCost2 = MiscellaneousVars[1501]; SetFont("DQHUDFONTSML"); if (TomeCost > 0) { xpos = ScreenXOffset + 1336.0; // MiscFixedVars[1]; // 1336.0; ypos = ScreenYOffset + 912.0; // MiscFixedVars[2]; // 912.0; If (StrIcmp(weapon, "NNSigil") == 0 || StrIcmp(weapon, "Sigil") == 0) HudMessage(d:TomeCost;HUDMSG_ALPHA,2223,cr_brick,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:TomeCost;HUDMSG_ALPHA,2223,cr_lightblue,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (TomeCost2 > 0) { xpos = ScreenXOffset + 1240.0; // MiscFixedVars[3]; // 1240.0; ypos = ScreenYOffset + 1008.0; // MiscFixedVars[4]; // 1008.0; If (StrIcmp(weapon, "NNSigil") == 0 || StrIcmp(weapon, "Sigil") == 0) HudMessage(d:TomeCost2;HUDMSG_ALPHA,2224,cr_brick,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:TomeCost2;HUDMSG_ALPHA,2224,cr_lightblue,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Ammo [1] / SceptreLevel Label (2212) int HellcoreLevel; Keyname = "+attack"; str Keyname2 = "+moveleft"; str Keyname3 = "+moveright"; xpos = ScreenXOffset + 1149.0; ypos = ScreenYOffset + 1060.0; If (StrIcmp(weapon, "SceptreOfEmpyrea") == 0) { // Sceptre "LVL" Text [2212] SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"LVL \cg",d:SceptreActualLevel;HUDMSG_ALPHA,2212,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); if (MiscellaneousVars[244] > 0) { // Spin Attack Indicator Icon [2211] xpos = ScreenXOffset + 1150.0; ypos = ScreenYOffset + 992.0; SetFont("SCEPTSPN"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2211,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } else { // HP/MP/AMMO Text [1] [2212] if (maxammo > 0) { msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("DQHUDFONTSML"); If (showmanabar == 1) { HudMessage(s:"MP";HUDMSG_ALPHA,2212,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else If (StrIcmp(weapon, "NNSigil") == 0 || StrIcmp(weapon, "Sigil") == 0) { HudMessage(s:"HP";HUDMSG_ALPHA,2212,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { If (StrIcmp(weapon, "PoisonNeedle") == 0) { xpos -= 12.0; HudMessage(s:"EXTRA";HUDMSG_ALPHA,2212,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { HudMessage(s:"AMMO";HUDMSG_ALPHA,2212,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } else { // [96] is the Current Level of the Imp's Soul // [97] is the Current Level of the Dark Imp's Soul // [98] is the Current Level of the Cacodemon's Soul // [99] is the Current Level of the Cacolantern's Soul // [100] is the Current Level of the Abaddon's Soul // [101] is the Current Level of the Hell Knight's Soul // [102] is the Current Level of the Baron of Hell's Soul // [103] is the Current Level of the Belphegor's Soul // [104] is the Current Level of the Bruiser Demon's Soul // [105] is the Current Level of the Archon of Hell's Soul // [106] is the Current Level of the Pyro Demon's Soul // [107] is the Current Level of the Death Incarnate's Soul // [108] is the Current Level of the Archvile's Soul // [109] is the Current Level of the Diabloist's Soul // [110] is the Current Level of the Flying Balrog's Soul // [111] is the Current Level of the Hades Elemental's Soul [?] // [112] is the Current Level of the Hades Overlord's Soul [?] // Hellcore "LVL" Text [1] [2212] int ShowHellcoreLevel; ShowHellcoreLevel = 0; xpos = ScreenXOffset + 1309.0; ypos = ScreenYOffset + 1060.0; SetFont("DQHUDFONTSML"); If (StrIcmp(weapon, "ImpSoul") == 0) { HellcoreLevel = MiscellaneousVars[96]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "DarkImpSoul") == 0) { HellcoreLevel = MiscellaneousVars[97]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "CacodemonSoul") == 0) { HellcoreLevel = MiscellaneousVars[98]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "CacolanternSoul") == 0) { HellcoreLevel = MiscellaneousVars[99]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "AbaddonSoul") == 0) { HellcoreLevel = MiscellaneousVars[100]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "KnightSoul") == 0) { HellcoreLevel = MiscellaneousVars[101]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "BaronSoul") == 0) { HellcoreLevel = MiscellaneousVars[102]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "BelphegorSoul") == 0) { HellcoreLevel = MiscellaneousVars[103]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "BruiserSoul") == 0) { HellcoreLevel = MiscellaneousVars[104]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "ArchonSoul") == 0) { HellcoreLevel = MiscellaneousVars[105]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "PyroDemonSoul") == 0) { HellcoreLevel = MiscellaneousVars[106]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "IncarnateSoul") == 0) { HellcoreLevel = MiscellaneousVars[107]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "ArchvileSoul") == 0) { HellcoreLevel = MiscellaneousVars[108]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "DiabloistSoul") == 0) { HellcoreLevel = MiscellaneousVars[109]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "BalrogSoul") == 0) { HellcoreLevel = MiscellaneousVars[110]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "HElementalSoul") == 0) { HellcoreLevel = MiscellaneousVars[111]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "HOverlordSoul") == 0) { HellcoreLevel = MiscellaneousVars[112]; ShowHellcoreLevel += 1; } If (StrIcmp(weapon, "BaseHellcoreWeapon") == 0) { HellcoreLevel = -1; if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 0) HellcoreLevel = MiscellaneousVars[96]; // Imp if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 1) HellcoreLevel = MiscellaneousVars[97]; // Dark Imp if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 2) HellcoreLevel = MiscellaneousVars[98]; // Cacodemon if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 3) HellcoreLevel = MiscellaneousVars[99]; // Cacolantern if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 4) HellcoreLevel = MiscellaneousVars[100]; // Abaddon if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 5) HellcoreLevel = MiscellaneousVars[101]; // Hell Knight if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 6) HellcoreLevel = MiscellaneousVars[102]; // Baron of Hell if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 7) HellcoreLevel = MiscellaneousVars[103]; // Belphegor if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 8) HellcoreLevel = MiscellaneousVars[104]; // Bruiser Demon if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 9) HellcoreLevel = MiscellaneousVars[105]; // Archon of Hell if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 10) HellcoreLevel = MiscellaneousVars[106]; // Pyro Demon if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 11) HellcoreLevel = MiscellaneousVars[107]; // Death Incarnate if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 12) HellcoreLevel = MiscellaneousVars[108]; // Archvile if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 13) HellcoreLevel = MiscellaneousVars[109]; // Diabloist if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 14) HellcoreLevel = MiscellaneousVars[110]; // Flying Balrog if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 15) HellcoreLevel = MiscellaneousVars[111]; // Hades Elemental if (CheckActorInventory(Player1TID,"HellCoreSoulType") == 16) HellcoreLevel = MiscellaneousVars[112]; // Hades Overlord if (HellcoreLevel > 0) ShowHellcoreLevel += 1; } msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); if (ShowHellcoreLevel > 0) { HudMessage(s:"LVL \cg",d:HellcoreLevel;HUDMSG_ALPHA,2212,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } // Ammo Amounts / Sceptre EXP [2213] int LevelMinEXPAmt, LevelMaxEXPAmt; int MaxExpForCurrentLevel, CurrentExpForCurrentLevel, TempSceptreLevel; xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1066.0; If (StrIcmp(weapon, "SceptreOfEmpyrea") == 0) { CurrentExpForCurrentLevel = SceptreLevelEXP; if (SceptreActualLevel < 1) { LevelMinEXPAmt = 0; LevelMaxEXPAmt = MiscellaneousVars[301]; } if (SceptreActualLevel == 1) { LevelMinEXPAmt = MiscellaneousVars[301]; LevelMaxEXPAmt = MiscellaneousVars[302]; } if (SceptreActualLevel == 2) { LevelMinEXPAmt = MiscellaneousVars[302]; LevelMaxEXPAmt = MiscellaneousVars[303]; } if (SceptreActualLevel == 3) { LevelMinEXPAmt = MiscellaneousVars[303]; LevelMaxEXPAmt = MiscellaneousVars[304]; } if (SceptreActualLevel == 4) { LevelMinEXPAmt = MiscellaneousVars[304]; LevelMaxEXPAmt = MiscellaneousVars[305]; } if (SceptreActualLevel == 5) { LevelMinEXPAmt = MiscellaneousVars[305]; LevelMaxEXPAmt = MiscellaneousVars[306]; } if (SceptreActualLevel == 6) { LevelMinEXPAmt = MiscellaneousVars[306]; LevelMaxEXPAmt = MiscellaneousVars[307]; } if (SceptreActualLevel == 7) { LevelMinEXPAmt = MiscellaneousVars[307]; LevelMaxEXPAmt = MiscellaneousVars[308]; } if (SceptreActualLevel == 8) { LevelMinEXPAmt = MiscellaneousVars[308]; LevelMaxEXPAmt = MiscellaneousVars[309]; } if (SceptreActualLevel == 9) { LevelMinEXPAmt = MiscellaneousVars[309]; LevelMaxEXPAmt = MiscellaneousVars[310]; } if (SceptreActualLevel == 10) { LevelMinEXPAmt = MiscellaneousVars[310]; LevelMaxEXPAmt = MiscellaneousVars[311]; } if (SceptreActualLevel == 11) { LevelMinEXPAmt = MiscellaneousVars[311]; LevelMaxEXPAmt = MiscellaneousVars[312]; } if (SceptreActualLevel == 12) { LevelMinEXPAmt = MiscellaneousVars[312]; LevelMaxEXPAmt = MiscellaneousVars[313]; } if (SceptreActualLevel == 13) { LevelMinEXPAmt = MiscellaneousVars[313]; LevelMaxEXPAmt = MiscellaneousVars[314]; } if (SceptreActualLevel == 14) { LevelMinEXPAmt = MiscellaneousVars[314]; LevelMaxEXPAmt = MiscellaneousVars[315]; } if (SceptreActualLevel >= 15) { LevelMinEXPAmt = MiscellaneousVars[315]; LevelMaxEXPAmt = MiscellaneousVars[316]; } MaxExpForCurrentLevel = LevelMaxEXPAmt - LevelMinEXPAmt; CurrentExpForCurrentLevel -= LevelMinEXPAmt; TempSceptreLevel = SceptreLevelEXP; if (TempSceptreLevel > MiscellaneousVars[316]) TempSceptreLevel = MiscellaneousVars[316]; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); if (debughud2 > 0) HudMessage(d:SceptreLevelEXP,s:" [",d:MiscellaneousVars[203],s:"] (",d:MiscellaneousVars[198],s:" [9308])";HUDMSG_ALPHA,2213,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:SceptreLevelEXP;HUDMSG_ALPHA,2213,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { If (showmanabar == 1) { SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:CurrentMana,s:"/",d:MaxMana;HUDMSG_ALPHA,2213,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (maxammo > 0) { SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(d:ammo,s:"/",d:maxammo;HUDMSG_ALPHA,2213,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } if (HudPrimaryMeters == 1) { // Ammo Meter Empty "Glow" Border [2214] xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1060.0; if (maxammo > 0) { int PerkCheckValue; int ShowGlow = 0; if (maxammo > 0) // if the weapon has any ammo maximum { If (StrIcmp(weapon, "BFG90002") == 0) { PerkCheckValue = 40; if (MiscellaneousVars[10029] == 1) PerkCheckValue = 32; if (MiscellaneousVars[10029] >= 2) PerkCheckValue = 24; if (ammo < PerkCheckValue) ShowGlow += 1; } else If (StrIcmp(weapon, "Karasawa2") == 0) { PerkCheckValue = 16; if (MiscellaneousVars[10027] == 1) PerkCheckValue = 12; if (MiscellaneousVars[10027] >= 2) PerkCheckValue = 8; if (ammo < PerkCheckValue) ShowGlow += 1; } else If (StrIcmp(weapon, "Repeater2") == 0 && ammo < 2) { ShowGlow += 1; } else if (ammo < 1) ShowGlow += 1; } if (ShowGlow > 0) { SetFont("AMMBEMPT"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // Ammo Meter / Sceptre EXP Meter Border [2215] xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1060.0; If (StrIcmp(weapon, "SceptreOfEmpyrea") == 0) { SetFont("SCBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2215,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { If (showmanabar == 1) { SetFont("MPBFRAME"); // SetFont("SCBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2215,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else If (showetherstock == 1) { //This needs to eventually be optimized for later and possibly use less code... SetFont("ACMFULL"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (MiscellaneousVars[25008] == 12) { HudMessage(s:"AAAAAA\nAAAAAA";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25008] == 11) { HudMessage(s:"AAAAAA\nAAAAAB";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25008] == 10) { HudMessage(s:"AAAAAA\nAAAABB";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25008] == 9) { HudMessage(s:"AAAAAA\nAAABBB";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25008] == 8) { HudMessage(s:"AAAAAA\nAABBBB";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25008] == 7) { HudMessage(s:"AAAAAA\nABBBBB";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25008] == 6) { HudMessage(s:"AAAAAA\nBBBBBB";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25008] == 5) { HudMessage(s:"AAAAAB\nBBBBBB";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25008] == 4) { HudMessage(s:"AAAABB\nBBBBBB";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25008] == 3) { HudMessage(s:"AAABBB\nBBBBBB";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25008] == 2) { HudMessage(s:"AABBBB\nBBBBBB";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (MiscellaneousVars[25008] == 1) { HudMessage(s:"ABBBBB\nBBBBBB";HUDMSG_ALPHA,2214,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } SetFont("ACMEMPTY"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"AAAAAA\nAAAAAA";HUDMSG_ALPHA,2215,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (maxammo > 0) { SetFont("AMMBFRAM"); // SetFont("SCBFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2215,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } // AMMO Meter Notches [2216] if (maxammo != 0) { If (StrIcmp(weapon, "NNSigil") == 0 || StrIcmp(weapon, "Sigil") == 0) { CurrentValue = MiscellaneousVars[25001]; MaxValue = MaxHealthTrue; // Normal fontname = "HPBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"HPBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"HPBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"HPBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2216,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } else If (showmanabar == 1) { CurrentValue = CurrentMana; MaxValue = MaxMana; // Normal fontname = "MPBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"MPBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"MPBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"MPBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2216,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } else { CurrentValue = ammo; MaxValue = maxammo; // Normal fontname = "AMMBF"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"AMMBF00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"AMMBF0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"AMMBF", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2216,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } else // Sceptre EXP Notches { If (StrIcmp(weapon, "SceptreOfEmpyrea") == 0) { CurrentExpForCurrentLevel = SceptreLevelEXP; if (SceptreActualLevel < 1) { LevelMinEXPAmt = 0; LevelMaxEXPAmt = MiscellaneousVars[301]; } if (SceptreActualLevel == 1) { LevelMinEXPAmt = MiscellaneousVars[301]; LevelMaxEXPAmt = MiscellaneousVars[302]; } if (SceptreActualLevel == 2) { LevelMinEXPAmt = MiscellaneousVars[302]; LevelMaxEXPAmt = MiscellaneousVars[303]; } if (SceptreActualLevel == 3) { LevelMinEXPAmt = MiscellaneousVars[303]; LevelMaxEXPAmt = MiscellaneousVars[304]; } if (SceptreActualLevel == 4) { LevelMinEXPAmt = MiscellaneousVars[304]; LevelMaxEXPAmt = MiscellaneousVars[305]; } if (SceptreActualLevel == 5) { LevelMinEXPAmt = MiscellaneousVars[305]; LevelMaxEXPAmt = MiscellaneousVars[306]; } if (SceptreActualLevel == 6) { LevelMinEXPAmt = MiscellaneousVars[306]; LevelMaxEXPAmt = MiscellaneousVars[307]; } if (SceptreActualLevel == 7) { LevelMinEXPAmt = MiscellaneousVars[307]; LevelMaxEXPAmt = MiscellaneousVars[308]; } if (SceptreActualLevel == 8) { LevelMinEXPAmt = MiscellaneousVars[308]; LevelMaxEXPAmt = MiscellaneousVars[309]; } if (SceptreActualLevel == 9) { LevelMinEXPAmt = MiscellaneousVars[309]; LevelMaxEXPAmt = MiscellaneousVars[310]; } if (SceptreActualLevel == 10) { LevelMinEXPAmt = MiscellaneousVars[310]; LevelMaxEXPAmt = MiscellaneousVars[311]; } if (SceptreActualLevel == 11) { LevelMinEXPAmt = MiscellaneousVars[311]; LevelMaxEXPAmt = MiscellaneousVars[312]; } if (SceptreActualLevel == 12) { LevelMinEXPAmt = MiscellaneousVars[312]; LevelMaxEXPAmt = MiscellaneousVars[313]; } if (SceptreActualLevel == 13) { LevelMinEXPAmt = MiscellaneousVars[313]; LevelMaxEXPAmt = MiscellaneousVars[314]; } if (SceptreActualLevel == 14) { LevelMinEXPAmt = MiscellaneousVars[314]; LevelMaxEXPAmt = MiscellaneousVars[315]; } if (SceptreActualLevel >= 15) { LevelMinEXPAmt = MiscellaneousVars[315]; LevelMaxEXPAmt = MiscellaneousVars[316]; } MaxExpForCurrentLevel = LevelMaxEXPAmt - LevelMinEXPAmt; CurrentExpForCurrentLevel -= LevelMinEXPAmt; if (MaxExpForCurrentLevel > 0) { CurrentValue = CurrentExpForCurrentLevel; MaxValue = MaxExpForCurrentLevel; // Normal fontname = "SCBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1060.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"SCBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"SCBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"SCBFN", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2216,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } } // Ammo Meter / Sceptre EXP Meter Glass [2217] xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1060.0; If (StrIcmp(weapon, "SceptreOfEmpyrea") == 0) { SetFont("SCBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2217,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { If (showmanabar == 1) { SetFont("MPBGLASS"); // SetFont("SCBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2217,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (maxammo > 0) { SetFont("AMMBGLSS"); // SetFont("SCBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2217,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } If (StrIcmp(weapon, "EvilWarriorShield") == 0 && HellWarriorShieldLevel > 0) { xpos = ScreenXOffset + 1336.0; // 1336.0; ypos = ScreenYOffset + 1008.0; // 1008.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("DQHUDFONTSML"); HudMessage(s:"+",d:HellWarriorShieldLevel;HUDMSG_ALPHA,2242,cr_brick,xpos,ypos,HUDMsgDelayFixed,msgalpha); } //************************************************************* // Minigun HEAT/MP [for Heretic weapons using Tomed Alt-Fires] [2225+] //************************************************************* str ammoname2; int minigunheat = MiscellaneousVars[25009]; int minigunheatmax = 100; int railguncharge = MiscellaneousVars[25010]; int railgunchargemax = 100; if (showsecondmeter == 1) { xpos = ScreenXOffset + MiscFixedVars[0]; // 1289.0; ypos = ScreenYOffset + MiscFixedVars[1]; // 1060.0; // "Heat/MP" Text [2225] xpos = ScreenXOffset + 1149.0; ypos = ScreenYOffset + 1028.0; msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); SetFont("DQHUDFONTSML"); If (StrIcmp(weapon, "Minigun") == 0) { minigunheat = MiscellaneousVars[25009]; ammoname2 = "HEAT"; } else If (StrIcmp(weapon, "Railgun2") == 0) { railguncharge = MiscellaneousVars[25010]; ammoname2 = "CHRG"; } else { ammoname2 = "MP"; } HudMessage(s:ammoname2;HUDMSG_ALPHA,2225,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // "Heat/MP" Amounts [2226] xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1034.0; SetFont("DQHUDFONTSML"); msgalpha = 0.875; msgalpha = FixedMul(msgalpha,overallhudalpha); If (StrIcmp(weapon, "Minigun") == 0) { HudMessage(d:minigunheat,s:"%";HUDMSG_ALPHA,2226,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else If (StrIcmp(weapon, "Railgun2") == 0) { HudMessage(d:railguncharge,s:"%";HUDMSG_ALPHA,2226,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { HudMessage(d:CurrentMana,s:"/",d:MaxMana;HUDMSG_ALPHA,2226,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (HudPrimaryMeters == 1) { // Heat Meter Empty "Glow" Border [2227] xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1028.0; msgalpha = 1.0; msgalpha = FixedMul(msgalpha,overallhudalpha); If (StrIcmp(weapon, "Minigun") == 0) { int miniheatalpha = 0.01 * MiscellaneousVars[25009]; msgalpha = FixedMul(msgalpha,miniheatalpha); SetFont("HCBOVHET"); HudMessage(s:"A";HUDMSG_ALPHA,2227,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } If (StrIcmp(weapon, "Railgun2") == 0) { int chargealpha = 0.01 * MiscellaneousVars[25010]; msgalpha = FixedMul(msgalpha,chargealpha); SetFont("AIBFOCUS"); HudMessage(s:"A";HUDMSG_ALPHA,2227,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Heat/MP Meter Border [2228] xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1028.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); If (StrIcmp(weapon, "Minigun") == 0) { SetFont("HCBFRAME"); HudMessage(s:"A";HUDMSG_ALPHA,2228,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else If (StrIcmp(weapon, "Railgun2") == 0) { SetFont("AIBFRAME"); HudMessage(s:"A";HUDMSG_ALPHA,2228,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { SetFont("MPBFRAME"); // SetFont("SCBFRAME"); HudMessage(s:"A";HUDMSG_ALPHA,2228,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // AMMO Meter Notches [2229] If (StrIcmp(weapon, "Minigun") == 0) { CurrentValue = minigunheat; MaxValue = minigunheatmax; } else If (StrIcmp(weapon, "Railgun2") == 0) { CurrentValue = railguncharge; MaxValue = railgunchargemax; } else { CurrentValue = CurrentMana; MaxValue = MaxMana; } fontname = "HCBFN"; fontnum = CurrentValue * 200 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 200) fontnum = 200; if (fontnum >= 1 && fontnum <= 200) { xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1028.0; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); If (StrIcmp(weapon, "Minigun") == 0) { if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"HCBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"HCBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"HCBFN", d:fontnum); } else If (StrIcmp(weapon, "Railgun2") == 0) { if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"AIBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"AIBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"AIBFN", d:fontnum); } else { if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"MPBFN00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"MPBFN0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"MPBFN", d:fontnum); } //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2229,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // "HEAT/MP" Meter Glass [2230] xpos = ScreenXOffset + 1289.0; ypos = ScreenYOffset + 1028.0; If (StrIcmp(weapon, "Minigun") == 0) { SetFont("HCBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2230,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else If (StrIcmp(weapon, "Railgun2") == 0) { SetFont("AIBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2230,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { SetFont("MPBGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2230,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } } } //************************************************************* // FlameCount Meter [for Heretic's Phoenix Rod using Tomed Alt-Fires] [6701+] //************************************************************* // 2208 - FlameCount Meter Border // 2209 - FlameCount Meter Notches // 2210 - FlameCount Meter Glass If (StrIcmp(weapon, "PhoenixRodNew") == 0 || StrIcmp(weapon, "DualPhoenixRodNew") == 0) { CurrentValue = MiscellaneousVars[25011]; // FlameCount item If (StrIcmp(weapon, "DualPhoenixRodNew") == 0) CurrentValue = MiscellaneousVars[25012]; MaxValue = 350; // Max FlameCount // FlameCount Meter Border xpos = ScreenXOffset + 1396.0; // MiscFixedVars[1]; ypos = ScreenYOffset + 956.0; // MiscFixedVars[2]; SetFont("PFCFRAME"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2208,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); // FlameCount Meter Notches fontname = "PFCNO"; fontnum = CurrentValue * 100 / MaxValue; if (fontnum < 0) fontnum = 0; if (fontnum > 100) fontnum = 100; if (fontnum >= 1 && fontnum <= 100) { xpos = ScreenXOffset + 1396.0; // MiscFixedVars[1]; ypos = ScreenYOffset + 956.0; // MiscFixedVars[2]; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); if (fontnum >= 1 && fontnum <= 9) fontname = StrParam(s:"PFCNO00", d:fontnum); if (fontnum >= 10 && fontnum <= 99) fontname = StrParam(s:"PFCNO0", d:fontnum); if (fontnum >= 100 && fontnum <= 999) fontname = StrParam(s:"PFCNO", d:fontnum); //PrintBold(d:fontnum,s:" [",s:fontname,s:"]"); SetFont(fontname); HudMessage(s:"A";HUDMSG_ALPHA,2209,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // FlameCount Meter Glass ypos = ScreenYOffset + 956.0; // MiscFixedVars[2]; SetFont("PFCGLASS"); msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(s:"A";HUDMSG_ALPHA,2210,cr_untranslated,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Key Legend [Weapon] if (ShowKeyLegend > 0) { // 2140 & 2206 & 2207 - Mode Key / Descriptions SetHudSize(2160,1620,0); // Should be 2160x1620 xpos = ScreenXOffset + 1760.0 + 0.1; ypos = ScreenYOffset + 1320.0 + 0.1; // 1316 or 1352 int altfiretype = 0; str altfirename = ""; int holdweaptype = 0; str user4type = ""; int reloadtype = 0; str reloadname = ""; // Kick Key xpos = ScreenXOffset + 1760.0 + 0.1; ypos = ScreenYOffset + 1320.0 + 0.1; // 1316 or 1352 ypos += 28.0; SetFont("DQHUDFONTSML"); Keyname = "+user1"; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(k:Keyname,s:" = \c[gold]",s:"QUICK-KICK";HUDMSG_ALPHA,2140,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); // User4/Hold Key If (StrIcmp(weapon, "FistAilish") == 0 || StrIcmp(weapon, "FistPetra") == 0 || StrIcmp(weapon, "FistFlora") == 0 || StrIcmp(weapon, "FistDeggaris") == 0 || StrIcmp(weapon, "FistIllucia") == 0 || StrIcmp(weapon, "PoisonNeedle") == 0) { holdweaptype = 1; // Guard user4type = "GUARD"; } If (StrIcmp(weapon, "DiarisLongbow") == 0 || StrIcmp(weapon, "ImpalerXBow") == 0 || StrIcmp(weapon, "DualImpalerXBow") == 0 || StrIcmp(weapon, "Railgun2") == 0) { holdweaptype = 2; // Zoom user4type = "ZOOM"; } If (StrIcmp(weapon, "RocketLauncher2") == 0 || StrIcmp(weapon, "NNSigil") == 0 || StrIcmp(weapon, "UnmakerDVDS") == 0 || StrIcmp(weapon, "UnmakerDVDSDual") == 0) { holdweaptype = 3; // Attack Type/Mode user4type = "CHANGE FIRING MODE"; } If (StrIcmp(weapon, "BruiserSoul") == 0 || StrIcmp(weapon, "ArchonSoul") == 0 || StrIcmp(weapon, "PyroDemonSoul") == 0 || StrIcmp(weapon, "ArchvileSoul") == 0 || StrIcmp(weapon, "DiabloistSoul") == 0 || StrIcmp(weapon, "HElementalSoul") == 0 || StrIcmp(weapon, "HOverlordSoul") == 0 || (StrIcmp(weapon, "BaseHellcoreWeapon") == 0 && (CheckActorInventory(Player1TID,"HellCoreSoulType") == 8 || CheckActorInventory(Player1TID,"HellCoreSoulType") == 9 || CheckActorInventory(Player1TID,"HellCoreSoulType") == 10 || CheckActorInventory(Player1TID,"HellCoreSoulType") == 12 || CheckActorInventory(Player1TID,"HellCoreSoulType") == 13 || CheckActorInventory(Player1TID,"HellCoreSoulType") == 15 || CheckActorInventory(Player1TID,"HellCoreSoulType") == 16))) { holdweaptype = 3; // Attack Type/Mode user4type = "CHANGE SOUL ATTACK MODE"; } if ((MiscellaneousVars[10053] + MiscellaneousVars[10054]) > 0 && (StrIcmp(weapon, "PhoenixRodNew") == 0 || StrIcmp(weapon, "DualPhoenixRodNew") == 0)) { holdweaptype = 3; // Attack Type/Mode user4type = "CHANGE SHOT MODE"; } if (holdweaptype > 0) { xpos = ScreenXOffset + 1760.0 + 0.1; ypos = ScreenYOffset + 1320.0 + 0.1; // 1316 or 1352 ypos += 28.0; ypos += 28.0; SetFont("DQHUDFONTSML"); Keyname = "+user4"; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(k:Keyname,s:" = \c[sapphire]",s:user4type;HUDMSG_ALPHA,2206,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Alt-Fire If (StrIcmp(weapon, "SceptreOfEmpyrea") == 0) { altfiretype++; if (MiscellaneousVars[25041]) altfirename = "UNPRIME ATTACK"; else altfirename = "SPIN-GUARD"; } If (StrIcmp(weapon, "DiarisLongbow") == 0) { if (MiscellaneousVars[25042]) { altfiretype++; altfirename = "DELEASE ARROW"; } } If (StrIcmp(weapon, "FistAilish") == 0 || StrIcmp(weapon, "FistPetra") == 0 || StrIcmp(weapon, "FistFlora") == 0 || StrIcmp(weapon, "FistDeggaris") == 0 || StrIcmp(weapon, "FistIllucia") == 0) { altfiretype++; altfirename = "UPPERCUT"; } If (StrIcmp(weapon, "SauronGauntletsAilish") == 0 || StrIcmp(weapon, "SauronGauntletsPetra") == 0 || StrIcmp(weapon, "SauronGauntletsFlora") == 0 || StrIcmp(weapon, "SauronGauntlets") == 0 || StrIcmp(weapon, "SauronGauntletsIllucia") == 0) { altfiretype++; altfirename = "STRONG PUNCH"; } If (StrIcmp(weapon, "PoisonNeedle") == 0) { if (MiscellaneousVars[25044]) { altfiretype++; altfirename = "THROW EXTRA"; } } If (StrIcmp(weapon, "SapphireWandNew") == 0 || StrIcmp(weapon, "DualSapphireWandsNew") == 0) { altfiretype++; altfirename = "TRI-BURST FIRE"; } If (StrIcmp(weapon, "RocketLauncher2") == 0 || StrIcmp(weapon, "GutFlingerNew") == 0 || StrIcmp(weapon, "GasRocketLauncherNew") == 0) { altfiretype++; altfirename = "FAST-BURST FIRE"; } If (StrIcmp(weapon, "PlasmaRifle2") == 0 || StrIcmp(weapon, "Karasawa2") == 0) { altfiretype++; altfirename = "SHOTBURST FIRE"; } If (StrIcmp(weapon, "Railgun2") == 0) { altfiretype++; altfirename = "CHARGE +5%"; } If (StrIcmp(weapon, "BFG90002") == 0) { altfiretype++; altfirename = "BFG 2704"; } If (StrIcmp(weapon, "GoldWandNew") == 0 || StrIcmp(weapon, "DualGoldWandNew") == 0 || StrIcmp(weapon, "CrossbowNew") == 0 || StrIcmp(weapon, "DualCrossbowNew") == 0 || StrIcmp(weapon, "SuperCrossbowNew") == 0 || StrIcmp(weapon, "DualSuperCrossbowNew") == 0 || StrIcmp(weapon, "DragonClawNew") == 0 || StrIcmp(weapon, "DualDragonClawNew") == 0 || StrIcmp(weapon, "PhoenixRodNew") == 0 || StrIcmp(weapon, "DualPhoenixRodNew") == 0 || StrIcmp(weapon, "HellStaffNew") == 0 || StrIcmp(weapon, "DualHellStaffNew") == 0 || StrIcmp(weapon, "FiremaceNew") == 0 || StrIcmp(weapon, "DualFiremaceNew") == 0 || StrIcmp(weapon, "DSparilStaff") == 0 || StrIcmp(weapon, "DualDSparilStaff") == 0) { altfiretype++; altfirename = "TOMED ATK"; } If (StrIcmp(weapon, "EvilWarriorShield") == 0) { altfiretype++; if (MiscellaneousVars[25043]) altfirename = "SHIELD UNBLOCK"; else altfirename = "SHIELD BLOCK"; } If (StrIcmp(weapon, "ImpalerXBow") == 0 || StrIcmp(weapon, "DualImpalerXBow") == 0) { altfiretype++; altfirename = "SPREADFIRE SHOT"; } If (StrIcmp(weapon, "ScepterOfSouls") == 0 || StrIcmp(weapon, "DualScepterOfSouls") == 0) { altfiretype++; altfirename = "SUPERSOUL FIRE"; } If (StrIcmp(weapon, "PyroDemonSoul") == 0 || (StrIcmp(weapon, "BaseHellcoreWeapon") == 0 && CheckActorInventory(Player1TID,"HellCoreSoulType") == 10)) { altfiretype++; altfirename = "PYROPORTATION"; } If (StrIcmp(weapon, "ArchvileSoul") == 0 || StrIcmp(weapon, "DiabloistSoul") == 0 || (StrIcmp(weapon, "BaseHellcoreWeapon") == 0 && (CheckActorInventory(Player1TID,"HellCoreSoulType") == 12 || CheckActorInventory(Player1TID,"HellCoreSoulType") == 13))) { altfiretype++; altfirename = "RESURRECT OTHER"; } If (StrIcmp(weapon, "HElementalSoul") == 0 || StrIcmp(weapon, "HOverlordSoul") == 0 || (StrIcmp(weapon, "BaseHellcoreWeapon") == 0 && (CheckActorInventory(Player1TID,"HellCoreSoulType") == 15 || CheckActorInventory(Player1TID,"HellCoreSoulType") == 16))) { altfiretype++; altfirename = "SUMMON SPHERE"; } if (altfiretype > 0) { xpos = ScreenXOffset + 1760.0 + 0.1; ypos = ScreenYOffset + 1320.0 + 0.1; // 1316 or 1352 ypos += 28.0; ypos += 28.0; if (holdweaptype > 0) ypos += 28.0; SetFont("DQHUDFONTSML"); Keyname = "+altattack"; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(k:Keyname,s:" = \c[fire]",s:altfirename;HUDMSG_ALPHA,2207,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // Reload If (StrIcmp(weapon, "BaseHellcoreWeapon") == 0) { reloadtype++; reloadname = "CHANGE SOUL TYPE"; } if (reloadtype > 0) { xpos = ScreenXOffset + 1760.0 + 0.1; ypos = ScreenYOffset + 1320.0 + 0.1; // 1316 or 1352 ypos += 28.0; ypos += 28.0; if (holdweaptype > 0) ypos += 28.0; if (altfiretype > 0) ypos += 28.0; SetFont("DQHUDFONTSML"); Keyname = "+reload"; msgalpha = 0.75; msgalpha = FixedMul(msgalpha,overallhudalpha); HudMessage(k:Keyname,s:" = \c[green]",s:reloadname;HUDMSG_ALPHA,2218,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } SetHudSize(NewHUDWidth,NewHUDHeight,0); // Since 1920x1080 isn't truly "supported" [ZDOOM(TM(TM(TM))), etc] :V } // Weapon Slot Numbers [2231-2241] if (HudWeaponSlots > 0) { SetFont("DQHUDFONTSML"); int emptyslotalpha = 0.375; int baseslotid = 2231; int slotidprint = 1; xpos = ScreenXOffset + 844.0; ypos = ScreenYOffset + 1040.0; //PrintBold(s:" X: ",f:xpos,s:" ScreenXOffset: ",f:ScreenXOffset,s:" Y: ",f:ypos,s:" ScreenYOffset: ",f:ScreenYOffset); // 1 xpos += 28.0; msgalpha = 0.75; emptyslotalpha = 0.375; if (MiscellaneousVars[411] >= 2) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (MiscellaneousVars[411] == 1) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,CR_CYAN,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { msgalpha = emptyslotalpha; HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_black,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // 2 baseslotid += 1; slotidprint += 1; xpos += 28.0; msgalpha = 0.75; if (MiscellaneousVars[412] >= 2) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (MiscellaneousVars[412] == 1) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,CR_CYAN,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { msgalpha = emptyslotalpha; HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_black,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // 3 baseslotid += 1; slotidprint += 1; xpos += 28.0; msgalpha = 0.75; if (MiscellaneousVars[413] >= 2) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (MiscellaneousVars[413] == 1) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,CR_CYAN,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { msgalpha = emptyslotalpha; HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_black,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // 4 baseslotid += 1; slotidprint += 1; xpos += 28.0; msgalpha = 0.75; if (MiscellaneousVars[414] >= 2) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (MiscellaneousVars[414] == 1) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,CR_CYAN,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { msgalpha = emptyslotalpha; HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_black,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // 5 baseslotid += 1; slotidprint += 1; xpos += 28.0; msgalpha = 0.75; if (MiscellaneousVars[415] >= 2) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (MiscellaneousVars[415] == 1) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,CR_CYAN,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { msgalpha = emptyslotalpha; HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_black,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // 6 xpos = ScreenXOffset + 844.0; ypos = ScreenYOffset + 1068.0; baseslotid += 1; slotidprint += 1; xpos += 28.0; msgalpha = 0.75; if (MiscellaneousVars[416] >= 2) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (MiscellaneousVars[416] == 1) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,CR_CYAN,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { msgalpha = emptyslotalpha; HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_black,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // 7 baseslotid += 1; slotidprint += 1; xpos += 28.0; msgalpha = 0.75; if (MiscellaneousVars[417] >= 2) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (MiscellaneousVars[417] == 1) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,CR_CYAN,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { msgalpha = emptyslotalpha; HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_black,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // 8 baseslotid += 1; slotidprint += 1; xpos += 28.0; msgalpha = 0.75; if (MiscellaneousVars[418] >= 2) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (MiscellaneousVars[418] == 1) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,CR_CYAN,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { msgalpha = emptyslotalpha; HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_black,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // 9 baseslotid += 1; slotidprint += 1; xpos += 28.0; msgalpha = 0.75; if (MiscellaneousVars[419] >= 2) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (MiscellaneousVars[419] == 1) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,CR_CYAN,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { msgalpha = emptyslotalpha; HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_black,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // 0 baseslotid += 1; slotidprint += 1; slotidprint -= 10; xpos += 28.0; msgalpha = 0.75; if (MiscellaneousVars[420] >= 2) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_white,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else if (MiscellaneousVars[420] == 1) { if (MiscellaneousVars[11] == slotidprint) HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); else HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,CR_CYAN,xpos,ypos,HUDMsgDelayFixed,msgalpha); } else { msgalpha = emptyslotalpha; HudMessage(d:slotidprint;HUDMSG_ALPHA,baseslotid,cr_black,xpos,ypos,HUDMsgDelayFixed,msgalpha); } // ? baseslotid += 1; xpos += 28.0; ypos -= 14.0; msgalpha = 0.75; if (MiscellaneousVars[11] <= -1) HudMessage(s:"?";HUDMSG_ALPHA,baseslotid,cr_gold,xpos,ypos,HUDMsgDelayFixed,msgalpha); } if (debughud > 0) PrintBold(s:"\cyEnd of ClasCheck Code\c- [10217]"); SetHudSize(0,0,0); } if (debughud > 0) PrintBold(s:"\cyEnd of Code\c- [10220]"); } SetHudSize(0,0,0); if (debughud > 0) PrintBold(s:"\cyHUDMsgDelayBase\c-: ",d:HUDMsgDelayBase,s:" [10223]"); Delay(HUDMsgDelayBase); Restart; } // Old DoomSpellV2 Style Completion Bonues script "OldDoomSpellCompletion" ENTER { str SecretBonusText1; int SecretBonusText2; str SecretBonusText3; str ItemBonusText1; int ItemBonusText2; str ItemBonusText3; str KillBonusText1; int KillBonusText2; str KillBonusText3; str CompletionBonusText1; int CompletionBonusText2; str CompletionBonusText3; int ItemsForMultiplier = GetCVar("dvds_itemsfoundformulti"); int SecretsForMultiplier = GetCVar("dvds_secretsfoundformulti"); int KillsForMultiplier = GetCVar("dvds_monsterskilledformulti"); int ItemsFoundMulti = GetCVar("dvds_itemsfoundmulti"); int SecretsFoundMulti = GetCVar("dvds_secretsfoundmulti"); int MonstersKilledMulti = GetCVar("dvds_monsterskilledmulti"); int ItemsFoundBonus = GetCVar("dvds_itemsfoundbonus"); int SecretsFoundBonus = GetCVar("dvds_secretsfoundbonus"); int MonstersKilledBonus = GetCVar("dvds_monsterskilledbonus"); int CompletionistBonusAllowed = GetCVar("dvds_getcompletionbonus"); int CompletionistBonus = GetCVar("dvds_completionistbonus"); int XSize = 1024; int YSize = 768; int XPos = 0; int XPosF = 0.0; int YPos = 0; int YPosF = 0.0; int BaseEXPGain = 10; // Base % of EXP given for Completion Bonus int BaseAeonPoints = 1; int ExtraMultiplier = 1; if (GetLevelInfo(LEVELINFO_TOTAL_SECRETS) <= 0) SecretBonusApplied = 1; if (GetLevelInfo(LEVELINFO_TOTAL_ITEMS) <= 0) ItemBonusApplied = 1; if (GetLevelInfo(LEVELINFO_TOTAL_MONSTERS) <= 0) KillBonusApplied = 1; if (SecretBonusApplied != 0 && ItemBonusApplied != 0 && KillBonusApplied != 0 && CompletionistBonusAllowed != 0) CompletionBonusApplied = 1; if (GetCVar("dvds_oldcompletionbonuses") > 0) { // 100% Secrets Bonus if (SecretBonusApplied == 0) { if (GetLevelInfo(LEVELINFO_TOTAL_SECRETS) == GetLevelInfo(LEVELINFO_FOUND_SECRETS)) { ExtraMultiplier = (GetLevelInfo(LEVELINFO_TOTAL_SECRETS) / SecretsForMultiplier) + 1; SecretBonusApplied = 1; SecretBonusText1 = "100% secrets found bonus:\n"; if (SecretsFoundBonus == 0) { BaseEXPGain *= SecretsFoundMulti; BaseEXPGain *= ExtraMultiplier; BaseEXPGain = BaseEXPGain >> 16; if (PlayerLevel == 0) { Experience += (ExpTable[PlayerLevel] * BaseEXPGain) / 100; } else if (PlayerLevel >= 1) { Experience += ((ExpTable[PlayerLevel] - ExpTable[PlayerLevel - 1]) * BaseEXPGain) / 100; } SecretBonusText2 = BaseEXPGain; SecretBonusText3 = "% of the experience required to reach the next level."; } if (SecretsFoundBonus == 1) { BaseAeonPoints *= SecretsFoundMulti; BaseAeonPoints *= ExtraMultiplier; BaseAeonPoints = BaseAeonPoints >> 16; if (BaseAeonPoints < 1) BaseAeonPoints = 1; MiscellaneousVars[25] += BaseAeonPoints; MiscellaneousVars[224] += BaseAeonPoints; MiscellaneousVars[2033] = 105; SecretBonusText2 = BaseAeonPoints; if (BaseAeonPoints > 1) { SecretBonusText3 = " Aeon Points."; } else { SecretBonusText3 = " Aeon Point."; } } LocalAmbientSound("misc/completion1",127); SetFont("DVDSBIGFONT"); SetHudSize(XSize,YSize,0); XPos = XSize / 2; XPosF = XPos * 1.0 + 0.4; YPos = YSize * 26 / 40; YPosF = YPos * 1.0; HudMessage(s:SecretBonusText1,d:SecretBonusText2,s:SecretBonusText3; HUDMSG_TYPEON,106,CR_BLUE,XPosF,YPosF,2.5,0.025,0.125,0.75); SetHudSize(0,0,0); SetFont("SMALLFONT"); } } // 100% Items Bonus if (ItemBonusApplied == 0) { if (GetLevelInfo(LEVELINFO_TOTAL_ITEMS) == GetLevelInfo(LEVELINFO_FOUND_ITEMS)) { ExtraMultiplier = (GetLevelInfo(LEVELINFO_TOTAL_ITEMS) / ItemsForMultiplier) + 1; ItemBonusApplied = 1; ItemBonusText1 = "100% items found bonus:\n"; if (ItemsFoundBonus == 0) { BaseEXPGain *= ItemsFoundMulti; BaseEXPGain *= ExtraMultiplier; BaseEXPGain = BaseEXPGain >> 16; if (PlayerLevel == 0) { Experience += (ExpTable[PlayerLevel] * BaseEXPGain) / 100; } else if (PlayerLevel >= 1) { Experience += ((ExpTable[PlayerLevel] - ExpTable[PlayerLevel - 1]) * BaseEXPGain) / 100; } ItemBonusText2 = BaseEXPGain; ItemBonusText3 = "% of the experience required to reach the next level."; } if (ItemsFoundBonus == 1) { BaseAeonPoints *= ItemsFoundMulti; BaseAeonPoints *= ExtraMultiplier; BaseAeonPoints = BaseAeonPoints >> 16; if (BaseAeonPoints < 1) BaseAeonPoints = 1; MiscellaneousVars[25] += BaseAeonPoints; MiscellaneousVars[224] += BaseAeonPoints; MiscellaneousVars[2033] = 105; ItemBonusText2 = BaseAeonPoints; if (BaseAeonPoints > 1) { ItemBonusText3 = " Aeon Points."; } else { ItemBonusText3 = " Aeon Point."; } } LocalAmbientSound("misc/completion2",127); SetFont("DVDSBIGFONT"); SetHudSize(XSize,YSize,0); XPos = XSize / 2; XPosF = XPos * 1.0 + 0.4; YPos = YSize * 28 / 40; YPosF = YPos * 1.0; HudMessage(s:ItemBonusText1,d:ItemBonusText2,s:ItemBonusText3; HUDMSG_TYPEON,107,CR_GREEN,XPosF,YPosF,2.5,0.025,0.125,0.75); SetHudSize(0,0,0); SetFont("SMALLFONT"); } } // 100% Kills Bonus if (KillBonusApplied == 0) { if (GetLevelInfo(LEVELINFO_TOTAL_MONSTERS) == GetLevelInfo(LEVELINFO_KILLED_MONSTERS)) { ExtraMultiplier = (GetLevelInfo(LEVELINFO_TOTAL_MONSTERS) / KillsForMultiplier) + 1; KillBonusApplied = 1; KillBonusText1 = "100% monsters killed bonus:\n"; if (MonstersKilledBonus == 0) { BaseEXPGain *= MonstersKilledMulti; BaseEXPGain *= ExtraMultiplier; BaseEXPGain = BaseEXPGain >> 16; if (PlayerLevel == 0) { Experience += (ExpTable[PlayerLevel] * BaseEXPGain) / 100; } else if (PlayerLevel >= 1) { Experience += ((ExpTable[PlayerLevel] - ExpTable[PlayerLevel - 1]) * BaseEXPGain) / 100; } KillBonusText2 = BaseEXPGain; KillBonusText3 = "% of the experience required to reach the next level."; } if (MonstersKilledBonus == 1) { BaseAeonPoints *= MonstersKilledMulti; BaseAeonPoints *= ExtraMultiplier; BaseAeonPoints = BaseAeonPoints >> 16; if (BaseAeonPoints < 1) BaseAeonPoints = 1; MiscellaneousVars[25] += BaseAeonPoints; MiscellaneousVars[224] += BaseAeonPoints; MiscellaneousVars[2033] = 105; KillBonusText2 = BaseAeonPoints; if (BaseAeonPoints > 1) { KillBonusText3 = " Aeon Points."; } else { KillBonusText3 = " Aeon Point."; } } LocalAmbientSound("misc/completion3",127); SetFont("DVDSBIGFONT"); SetHudSize(XSize,YSize,0); XPos = XSize / 2; XPosF = XPos * 1.0 + 0.4; YPos = YSize * 30 / 40; YPosF = YPos * 1.0; HudMessage(s:KillBonusText1,d:KillBonusText2,s:KillBonusText3; HUDMSG_TYPEON,108,CR_RED,XPosF,YPosF,2.5,0.025,0.125,0.75); SetHudSize(0,0,0); SetFont("SMALLFONT"); } } // Full 100% Completion Bonus if (CompletionBonusApplied == 0 && SecretBonusApplied != 0 && ItemBonusApplied != 0 && KillBonusApplied != 0 && CompletionistBonusAllowed != 0) { ExtraMultiplier = ((GetLevelInfo(LEVELINFO_TOTAL_SECRETS) / SecretsForMultiplier) + 1); ExtraMultiplier += ((GetLevelInfo(LEVELINFO_TOTAL_ITEMS) / ItemsForMultiplier) + 1); ExtraMultiplier += ((GetLevelInfo(LEVELINFO_TOTAL_MONSTERS) / KillsForMultiplier) + 1); ExtraMultiplier /= 3; if (ExtraMultiplier < 1) ExtraMultiplier = 1; CompletionBonusApplied = 1; CompletionBonusText1 = "100% Level Completion Bonus:\n"; if (CompletionistBonus == 0) { BaseEXPGain *= ExtraMultiplier; BaseEXPGain *= 2; if (BaseEXPGain < 20) BaseEXPGain = 20; if (PlayerLevel == 0) { Experience += (ExpTable[PlayerLevel] * BaseEXPGain) / 100; } else if (PlayerLevel >= 1) { Experience += ((ExpTable[PlayerLevel] - ExpTable[PlayerLevel - 1]) * BaseEXPGain) / 100; } CompletionBonusText2 = BaseEXPGain; CompletionBonusText3 = "% of the experience required to reach the next level."; } if (CompletionistBonus == 1) { BaseAeonPoints *= ExtraMultiplier; BaseAeonPoints *= 2; if (BaseAeonPoints < 2) BaseAeonPoints = 2; MiscellaneousVars[25] += BaseAeonPoints; MiscellaneousVars[224] += BaseAeonPoints; MiscellaneousVars[2033] = 105; CompletionBonusText2 = BaseAeonPoints; if (BaseAeonPoints > 1) { CompletionBonusText3 = " Aeon Points."; } else { CompletionBonusText3 = " Aeon Point."; } } LocalAmbientSound("misc/completion4",127); SetFont("DVDSBIGFONT"); SetHudSize(XSize,YSize,0); XPos = XSize / 2; XPosF = XPos * 1.0 + 0.4; YPos = YSize * 32 / 40; YPosF = YPos * 1.0; HudMessage(s:CompletionBonusText1,d:CompletionBonusText2,s:CompletionBonusText3; HUDMSG_TYPEON,109,CR_ICE,XPosF,YPosF,2.5,0.025,0.125,0.75); SetHudSize(0,0,0); SetFont("SMALLFONT"); } } str FullBonusText1; int FullBonusText2; str FullBonusText3; if (SecretBonusApplied == 1 && ItemBonusApplied == 1 && KillBonusApplied == 1) { Terminate; } else { Delay(random(17,18)); Restart; } } //**************************** //**************************** //** DoomSpell Spell System ** //**************************** //**************************** // Spell Selection script "SpellSelection" (int Dir) { /* //********************************** //*** New Spell Selection System *** //********************************** // MiscellaneousVars[9] is for the category of spells you're using [for revised Spell Selecting] // MiscellaneousVars[10] is for the subspell within the current category of spells you're using [for revised Spell Selecting] // MiscellaneousVars[70] is storage for the Spell# under the "Offense" spell category [value storage] // MiscellaneousVars[71] is storage for the Spell# under the "Restorative" spell category [value storage] // MiscellaneousVars[72] is storage for the Spell# under the "Status" spell category [value storage] // MiscellaneousVars[73] is storage for the Spell# under the "Conjure" spell category [value storage] if (MiscellaneousVars[25001] > 0) // Fix Oversight { // Toggles the Current Spell Category if (Dir > 1 && Dir < 4) { if (Dir == 2) // Previous Spell Category { MiscellaneousVars[9] -= 1; if (MiscellaneousVars[9] < 0) MiscellaneousVars[9] = 3; } if (Dir == 3) // Next Spell Category { MiscellaneousVars[9] += 1; if (MiscellaneousVars[9] > 3) MiscellaneousVars[9] = 0; } if (MiscellaneousVars[9] == 0) MiscellaneousVars[10] = MiscellaneousVars[70]; // "Offense" [23] if (MiscellaneousVars[9] == 1) MiscellaneousVars[10] = MiscellaneousVars[71]; // "Restorative" [5] if (MiscellaneousVars[9] == 2) MiscellaneousVars[10] = MiscellaneousVars[72]; // "Status" [20] if (MiscellaneousVars[9] == 3) MiscellaneousVars[10] = MiscellaneousVars[73]; // "Conjure" [7] } // Allows Cycling Spells within a specific Category if (Dir > -1 && Dir < 2) { if (Dir == 0) // Previous Spell { MiscellaneousVars[10] -= 1; if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] < 0) MiscellaneousVars[10] = 22; if (MiscellaneousVars[9] == 1 && MiscellaneousVars[10] < 0) MiscellaneousVars[10] = 4; if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] < 0) MiscellaneousVars[10] = 19; if (MiscellaneousVars[9] == 3 && MiscellaneousVars[10] < 0) MiscellaneousVars[10] = 6; } if (Dir == 1) // Next Spell { MiscellaneousVars[10] += 1; if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] > 22) MiscellaneousVars[10] = 0; if (MiscellaneousVars[9] == 1 && MiscellaneousVars[10] > 4) MiscellaneousVars[10] = 0; if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] > 19) MiscellaneousVars[10] = 0; if (MiscellaneousVars[9] == 3 && MiscellaneousVars[10] > 6) MiscellaneousVars[10] = 0; } if (MiscellaneousVars[9] == 0) MiscellaneousVars[70] = MiscellaneousVars[10]; // "Offense" [23] if (MiscellaneousVars[9] == 1) MiscellaneousVars[71] = MiscellaneousVars[10]; // "Restorative" [5] if (MiscellaneousVars[9] == 2) MiscellaneousVars[72] = MiscellaneousVars[10]; // "Status" [20] if (MiscellaneousVars[9] == 3) MiscellaneousVars[73] = MiscellaneousVars[10]; // "Conjure" [7] } // Aftermath: Determine which Spell ID to select based on above options. // Offense if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 0) SelectedSpell = 0; // Minor Magic Missile if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 1) SelectedSpell = 3; // Chill Touch if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 2) SelectedSpell = 6; // Minor Poison Cloud if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 3) SelectedSpell = 7; // Minor Fireball if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 4) SelectedSpell = 9; // Minor Ice Blast if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 5) SelectedSpell = 11; // Magic Missile if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 6) SelectedSpell = 12; // Fireball if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 7) SelectedSpell = 13; // Explosive Glyph if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 8) SelectedSpell = 15; // Fireball Nova if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 9) SelectedSpell = 19; // Acid Rain if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 10) SelectedSpell = 20; // Minor Terrorization Aura if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 11) SelectedSpell = 23; // Major Magic Missile if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 12) SelectedSpell = 25; // Icy Nova if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 13) SelectedSpell = 26; // Poison Cloud if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 14) SelectedSpell = 27; // Minor Lightning if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 15) SelectedSpell = 31; // Ice Blast if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 16) SelectedSpell = 33; // Lightning Nova if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 17) SelectedSpell = 38; // Lightning if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 18) SelectedSpell = 41; // Major Fireball if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 19) SelectedSpell = 42; // Major Ice Blast if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 20) SelectedSpell = 43; // Major Poison Cloud if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 21) SelectedSpell = 44; // Major Lightning if (MiscellaneousVars[9] == 0 && MiscellaneousVars[10] == 22) SelectedSpell = 49; // Ultra Magic Missile // Restorative if (MiscellaneousVars[9] == 1 && MiscellaneousVars[10] == 0) SelectedSpell = 1; // Minor Healing if (MiscellaneousVars[9] == 1 && MiscellaneousVars[10] == 1) SelectedSpell = 14; // Healing if (MiscellaneousVars[9] == 1 && MiscellaneousVars[10] == 2) SelectedSpell = 28; // Stone Skin if (MiscellaneousVars[9] == 1 && MiscellaneousVars[10] == 3) SelectedSpell = 29; // Major Healing if (MiscellaneousVars[9] == 1 && MiscellaneousVars[10] == 4) SelectedSpell = 40; // Diamond Skin // Status if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 0) SelectedSpell = 2; // Minor Night-Vision if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 1) SelectedSpell = 4; // Minor Invisibility if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 2) SelectedSpell = 5; // Minor Flight if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 3) SelectedSpell = 8; // Enhanced Strength if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 4) SelectedSpell = 16; // Attack Booster if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 5) SelectedSpell = 17; // Minor Raging Spirits if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 6) SelectedSpell = 18; // Invisibility if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 7) SelectedSpell = 21; // Night Vision if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 8) SelectedSpell = 22; // Flight if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 9) SelectedSpell = 30; // Major Night Vision if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 10) SelectedSpell = 32; // Farsight if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 11) SelectedSpell = 34; // Minor Time Freezer if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 12) SelectedSpell = 35; // Defense Booster if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 13) SelectedSpell = 36; // Major Invisiblity if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 14) SelectedSpell = 37; // Major Flight if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 15) SelectedSpell = 45; // Major Invulnerability if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 16) SelectedSpell = 46; // Speed Booster if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 17) SelectedSpell = 50; // Time Freezer if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 18) SelectedSpell = 51; // Terrorization Aura if (MiscellaneousVars[9] == 2 && MiscellaneousVars[10] == 19) SelectedSpell = 53; // Divine Avatar // Conjure if (MiscellaneousVars[9] == 3 && MiscellaneousVars[10] == 0) SelectedSpell = 10; // Summon Weak Monster if (MiscellaneousVars[9] == 3 && MiscellaneousVars[10] == 1) SelectedSpell = 24; // Summon Monster if (MiscellaneousVars[9] == 3 && MiscellaneousVars[10] == 2) SelectedSpell = 39; // Summon Strong Monster if (MiscellaneousVars[9] == 3 && MiscellaneousVars[10] == 3) SelectedSpell = 47; // Raging Spirits if (MiscellaneousVars[9] == 3 && MiscellaneousVars[10] == 4) SelectedSpell = 48; // Summon Arch-Vile if (MiscellaneousVars[9] == 3 && MiscellaneousVars[10] == 5) SelectedSpell = 52; // Create Lotso Ammo if (MiscellaneousVars[9] == 3 && MiscellaneousVars[10] == 6) SelectedSpell = 54; // Summon Cyberdemon // PrintBold(s:"Category#: ",d:MiscellaneousVars[9],s:"\nSpell#: ",d:MiscellaneousVars[10],s:"\nCat1Spell#: ",d:MiscellaneousVars[70],s:"\nCat2Spell#: ",d:MiscellaneousVars[71],s:"\nCat3Spell#: ",d:MiscellaneousVars[72],s:"\nCat4Spell#: ",d:MiscellaneousVars[73]); } */ //********************************** //*** Old Spell Selection System *** //********************************** if (MiscellaneousVars[25001] > 0) // Fix Oversight { if (Dir == 1) // Next Spell { SelectedSpell += 1; //PrintBold(d:SpellsLearned[PlayerLevel]); if (PlayerLevel < 57) { if (SelectedSpell < 0) SelectedSpell = SpellsLearned[PlayerLevel]; } if (SelectedSpell < 0) SelectedSpell = SpellIDLimit; // 15, 20, 23, 29, 30, 33, 34, 36, 37, 41, 42, 44, 45, 46, 48, 49, 50, 54, 55 = Deggaris Cannot use these Spell IDs in final version if (CharacterClass == 0) // Deggaris { if (SelectedSpell == 15) SelectedSpell += 1; // Skip "Fireball Nova" if (SelectedSpell == 23) SelectedSpell += 1; if (SelectedSpell == 29) SelectedSpell += 1; if (SelectedSpell == 30) SelectedSpell += 1; if (SelectedSpell == 33) SelectedSpell += 1; if (SelectedSpell == 34) SelectedSpell += 1; // Skip "Minor Time Freezer" if (SelectedSpell == 36) SelectedSpell += 1; if (SelectedSpell == 37) SelectedSpell += 1; if (SelectedSpell == 41) SelectedSpell += 1; // Skip "Major Fireball" if (SelectedSpell == 42) SelectedSpell += 1; // Skip "Major Ice Blast" if (SelectedSpell == 44) SelectedSpell += 1; // Skip "Major Lightning" if (SelectedSpell == 48) SelectedSpell += 1; // Skip "Summon Arch-Vile" if (SelectedSpell == 49) SelectedSpell += 1; // Skip "Ultimate Magic Missile" if (SelectedSpell == 50) SelectedSpell += 1; // Skip "Time Freezer" if (SelectedSpell == 54) SelectedSpell += 1; // Skip "Summon Cyberdemon" if (SelectedSpell == 55) SelectedSpell += 1; // Skip "Spreader Aura Lv. 1" } // 6, 25, 26, 43, 49, 51, 55 = Illucia Cannot use these Spell IDs in final version if (CharacterClass == 1) // Illucia { if (SelectedSpell == 6) SelectedSpell += 1; // Skip "Minor Poison Cloud" if (SelectedSpell == 20) SelectedSpell += 1; // Skip "Minor Terrorization Aura" if (SelectedSpell == 26) SelectedSpell += 1; // Skip "Poison Cloud" if (SelectedSpell == 43) SelectedSpell += 1; // Skip "Major Poison Cloud" if (SelectedSpell == 49) SelectedSpell += 1; // Skip "Ultimate Magic Missile" if (SelectedSpell == 51) SelectedSpell += 1; // Skip "Terrorization Aura" if (SelectedSpell == 55) SelectedSpell += 1; // Skip "Spreader Aura Lv. 1" } // 28, 52 = Flora Cannot use these Spell IDs in final version if (CharacterClass == 2) // Flora { if (SelectedSpell == 28) SelectedSpell += 1; // Skip "Stone Skin" if (SelectedSpell == 52) SelectedSpell += 1; // Skip "Create Lotso Ammo" } // Ailish cannot use these spell IDs. To be filled out... // if (CharacterClass == 8) // Ailish // Petra cannot use these spell IDs. To be filled out... if (CharacterClass == 9) // Petra { if (SelectedSpell == 6) SelectedSpell += 1; // Skip "Minor Poison Cloud" if (SelectedSpell == 26) SelectedSpell += 1; // Skip "Poison Cloud" if (SelectedSpell == 28) SelectedSpell += 1; // Skip "Stone Skin" if (SelectedSpell == 43) SelectedSpell += 1; // Skip "Major Poison Cloud" if (SelectedSpell == 49) SelectedSpell += 1; // Skip "Ultimate Magic Missile" } if (PlayerLevel < 57) { if (SelectedSpell > SpellsLearned[PlayerLevel]) SelectedSpell = 0; } if (SelectedSpell > SpellIDLimit) SelectedSpell = 0; } if (Dir == 0) // Previous Spell { SelectedSpell -= 1; //PrintBold(d:SpellsLearned[PlayerLevel]); if (PlayerLevel < 57) { if (SelectedSpell < 0) SelectedSpell = SpellsLearned[PlayerLevel]; } if (SelectedSpell < 0) SelectedSpell = SpellIDLimit; // 15, 20, 23, 29, 30, 33, 34, 36, 37, 41, 42, 44, 45, 46, 48, 49, 50, 54, 55 = Deggaris Cannot use these Spell IDs in final version if (CharacterClass == 0) // Deggaris { if (SelectedSpell == 55) SelectedSpell -= 1; // Skip "Spreader Aura" if (SelectedSpell == 54) SelectedSpell -= 1; // Skip "Summon Cyberdemon" if (SelectedSpell == 50) SelectedSpell -= 1; // Skip "Time Freezer" if (SelectedSpell == 49) SelectedSpell -= 1; // Skip "Ultimate Magic Missile" if (SelectedSpell == 48) SelectedSpell -= 1; // Skip "Summon Arch-Vile" if (SelectedSpell == 44) SelectedSpell -= 1; // Skip "Major Lightning" if (SelectedSpell == 42) SelectedSpell -= 1; // Skip "Major Ice Blast" if (SelectedSpell == 41) SelectedSpell -= 1; // Skip "Major Fireball" if (SelectedSpell == 37) SelectedSpell -= 1; if (SelectedSpell == 36) SelectedSpell -= 1; if (SelectedSpell == 34) SelectedSpell -= 1; // Skip "Minor Time Freezer" if (SelectedSpell == 33) SelectedSpell -= 1; if (SelectedSpell == 30) SelectedSpell -= 1; if (SelectedSpell == 29) SelectedSpell -= 1; if (SelectedSpell == 23) SelectedSpell -= 1; if (SelectedSpell == 15) SelectedSpell -= 1; // Skip "Fireball Nova" } // 6, 25, 26, 43, 49, 51, 55 = Illucia Cannot use these Spell IDs in final version if (CharacterClass == 1) // Illucia { if (SelectedSpell == 55) SelectedSpell -= 1; // Skip "Spreader Aura" if (SelectedSpell == 51) SelectedSpell -= 1; // Skip "Terrorization Aura" if (SelectedSpell == 49) SelectedSpell -= 1; // Skip "Ultimate Magic Missile" if (SelectedSpell == 43) SelectedSpell -= 1; // Skip "Major Poison Cloud" if (SelectedSpell == 26) SelectedSpell -= 1; // Skip "Poison Cloud" if (SelectedSpell == 20) SelectedSpell -= 1; // Skip "Minor Terrorization Aura" if (SelectedSpell == 6) SelectedSpell -= 1; // Skip "Minor Poison Cloud" } // 28, 52 = Flora Cannot use these Spell IDs in final version if (CharacterClass == 2) // Flora { if (SelectedSpell == 52) SelectedSpell -= 1; // Skip "Create Lotso Ammo" if (SelectedSpell == 28) SelectedSpell -= 1; // Skip "Stone Skin" } // Ailish cannot use these spell IDs. To be filled out... // if (CharacterClass == 8) // Ailish // Petra cannot use these spell IDs. To be filled out... if (CharacterClass == 9) // Petra { if (SelectedSpell == 52) SelectedSpell -= 1; // Skip "Create Lotso Ammo" if (SelectedSpell == 49) SelectedSpell -= 1; // Skip "Ultimate Magic Missile" if (SelectedSpell == 43) SelectedSpell -= 1; // Skip "Major Poison Cloud" if (SelectedSpell == 28) SelectedSpell -= 1; // Skip "Stone Skin" if (SelectedSpell == 26) SelectedSpell -= 1; // Skip "Poison Cloud" if (SelectedSpell == 6) SelectedSpell -= 1; // Skip "Minor Poison Cloud" } //PrintBold(d:SpellsLearned[PlayerLevel]); if (PlayerLevel < 57) { if (SelectedSpell < 0) SelectedSpell = SpellsLearned[PlayerLevel]; } if (SelectedSpell < 0) SelectedSpell = SpellIDLimit; } } } function void MPRegenPenaltySet(int CostOfSpell) { int TempMPRegenPenalty = ((MiscellaneousVars[275] * CostOfSpell) / MaxMana); if (TempMPRegenPenalty < MiscellaneousVars[276]) TempMPRegenPenalty = MiscellaneousVars[276]; MiscellaneousVars[93] -= TempMPRegenPenalty; } // Spell Readying (For Ten-Slot system) script "SpellQuickAssign" (int Slot, int Type) { if (MenuSystemVars[0] != 0) terminate; // cannot change spells in the menu if (PowerupTimer[20] > 0 || PowerupTimer[21] > 0) // cannot cast spells while put to sleep/silenced/muted :V { MiscellaneousVars[25201]++; // Plays "inv_fail" terminate; } int MaxHealthLimit = MaxHealthTrue * 2; int CostOfSpell, SelectedSpellSlot; int TempMPRegenPenalty; int buttons = GetPlayerInput(0, INPUT_BUTTONS); if (buttons & BT_SPEED) Type = 0; // Assign Current Spell to Slot Reflecting the pressed key else if (buttons & BT_RELOAD) Type = 1; // Clear Slot Reflecting the pressed key else Type = 2; // Fire Spell if no specific buttons are held down if (Type == 0) // assign spell { if (MiscellaneousVars[25001] > 0) // Fix Oversight { for (SelectedSpellSlot = 0; SelectedSpellSlot < 10; SelectedSpellSlot++) { if (ReadiedSpells[SelectedSpellSlot] == 0) // Initialize unused slots { ReadiedSpells[SelectedSpellSlot] = 0; } } ReadiedSpells[Slot] = SelectedSpell + 1; } } if (Type == 1) // clear spell { if (MiscellaneousVars[25001] > 0) // Fix Oversight { ReadiedSpells[Slot] = 0; } } if (Type == 2) // cast spell { if (ReadiedSpells[Slot] != 0) { // Function Ran CostOfSpell = MiscellaneousVars[(2990+Slot)]; MiscellaneousVars[555] = CostOfSpell; // Saves spellcost into a global array [in case the spell fails, so it gives back the MP you lost] :P // Function Ran if (MiscellaneousVars[25001] > 0) // Fix Oversight { if (CurrentMana >= CostOfSpell) { //PrintBold(d:ReadiedSpells[Slot]); if (ReadiedSpells[Slot] == 2) // Minor Healing [Deggaris/Illucia Only] { if (buttons & BT_ZOOM) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,0,-3,0); } else { if (MiscellaneousVars[25001] < MaxHealthTrue) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[ReadiedSpells[Slot] - 1],SpellCastStrength[ReadiedSpells[Slot] - 1],0); } } } else if (ReadiedSpells[Slot] == 15) // Healing [Deggaris/Illucia Only] { if (buttons & BT_ZOOM) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,0,-2,0); } else { if (MiscellaneousVars[25001] < MaxHealthTrue) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[ReadiedSpells[Slot] - 1],SpellCastStrength[ReadiedSpells[Slot] - 1],0); } } } else if (ReadiedSpells[Slot] == 29) // Stone Skin [Deggaris/Illucia Only] { if (PowerupTimer[7] > 0) { if (CheckInventory("Armor") < 2000) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[ReadiedSpells[Slot] - 1],SpellCastStrength[ReadiedSpells[Slot] - 1],0); } } else { if (CheckInventory("Armor") < 500) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[ReadiedSpells[Slot] - 1],SpellCastStrength[ReadiedSpells[Slot] - 1],0); } } } else if (ReadiedSpells[Slot] == 30) // Major Healing [Deggaris/Illucia Only] { if (buttons & BT_ZOOM) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,0,-1,0); } else { if (MiscellaneousVars[25001] < MaxHealthLimit) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[ReadiedSpells[Slot] - 1],SpellCastStrength[ReadiedSpells[Slot] - 1],0); } } } else if (ReadiedSpells[Slot] == 41) // Diamond Skin [Deggaris/Illucia Only] or Spreader Aura Lv. 1 [Flora Only] { //PrintBold(d:CharacterClass); if (CharacterClass == 2) // Flora has "Spreader Aura Lv. 1" in this slot instead of "Diamond Skin" { if (PowerupTimer[9] > 0) // If Lv. 2 is intact, give it a random (6-8) seconds. :P { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,18,random(6,8),0); } else // If only Lv. 1 is intact, give it the full 30 seconds. :P { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,17,30,0); } } else // Deggaris & Illucia use "Diamond Skin" in this slot. { if (PowerupTimer[7] > 0) { if (CheckInventory("Armor") < 5000) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[ReadiedSpells[Slot] - 1],SpellCastStrength[ReadiedSpells[Slot] - 1],0); } } else { if (CheckInventory("Armor") < 1250) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[ReadiedSpells[Slot] - 1],SpellCastStrength[ReadiedSpells[Slot] - 1],0); } } } } else if (ReadiedSpells[Slot] == 11 || ReadiedSpells[Slot] == 25 || ReadiedSpells[Slot] == 40 || ReadiedSpells[Slot] == 49 || ReadiedSpells[Slot] == 55) // Summon Spells { ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[ReadiedSpells[Slot] - 1],SpellCastStrength[ReadiedSpells[Slot] - 1],0); } else // All Other Spells [Deggaris/Illucia Only] { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[ReadiedSpells[Slot] - 1],SpellCastStrength[ReadiedSpells[Slot] - 1],0); } } } } } } // Spell Casting script "SpellCasting" (int enableRapidCasting) { if (MenuSystemVars[0] != 0) terminate; if (PowerupTimer[20] > 0 || PowerupTimer[21] > 0) // cannot cast spells while put to sleep :V { MiscellaneousVars[25201]++; // Plays "inv_fail" terminate; } int MaxHealthLimit = MaxHealthTrue * 2; int CurrentHealth, CostOfSpell; // Function Ran CostOfSpell = MiscellaneousVars[2989]; MiscellaneousVars[555] = CostOfSpell; // Saves spellcost into a global array [in case the spell fails, so it gives back the MP you lost] :P // Function Ran int buttons = GetPlayerInput(0, INPUT_BUTTONS); if (MiscellaneousVars[25001] > 0) { if (CurrentMana >= CostOfSpell) { if (SelectedSpell == 1) // Minor Healing [Deggaris and Illucia Only] { if (buttons & BT_ZOOM) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,0,-3,0); } else { CurrentHealth = MiscellaneousVars[25001]; if (CurrentHealth < MaxHealthTrue) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[SelectedSpell],SpellCastStrength[SelectedSpell],0); } } } else if (SelectedSpell == 14) // Healing [Deggaris and Illucia Only] { if (buttons & BT_ZOOM) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,0,-2,0); } else { CurrentHealth = MiscellaneousVars[25001]; if (CurrentHealth < MaxHealthTrue) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[SelectedSpell],SpellCastStrength[SelectedSpell],0); } } } else if (SelectedSpell == 28) { if (PowerupTimer[7] > 0) { if (CheckInventory("Armor") < 2000) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[SelectedSpell],SpellCastStrength[SelectedSpell],0); } } else { if (CheckInventory("Armor") < 500) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[SelectedSpell],SpellCastStrength[SelectedSpell],0); } } } else if (SelectedSpell == 29) // Major Healing [Deggaris and Illucia Only] { if (buttons & BT_ZOOM) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,0,-1,0); } else { CurrentHealth = MiscellaneousVars[25001]; if (CurrentHealth < MaxHealthLimit) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[SelectedSpell],SpellCastStrength[SelectedSpell],0); } } } else if (SelectedSpell == 40) // Diamond Skin [Deggaris and Illucia Only] { if (CharacterClass == 2) // Flora has "Spreader Aura Lv. 1" in this slot instead of "Diamond Skin" { if (PowerupTimer[9] > 0) // If Lv. 2 is intact, give it a random (6-8) seconds. :P { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,18,random(6,8),0); } else // If only Lv. 1 is intact, give it the full 30 seconds. :P { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,17,30,0); } } else // Deggaris & Illucia use "Diamond Skin" in this slot. { if (PowerupTimer[7] > 0) { if (CheckInventory("Armor") < 5000) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[SelectedSpell],SpellCastStrength[SelectedSpell],0); } } else { if (CheckInventory("Armor") < 1250) { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[SelectedSpell],SpellCastStrength[SelectedSpell],0); } } } } else if (SelectedSpell == 10 || SelectedSpell == 24 || SelectedSpell == 39 || SelectedSpell == 48 || SelectedSpell == 54) { ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[SelectedSpell],SpellCastStrength[SelectedSpell],0); } else // All other spells [Deggaris and Illucia only] { CurrentMana -= CostOfSpell; MPRegenPenaltySet(CostOfSpell); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; ACS_NamedExecuteAlways("MagicEffects",0,SpellCastTypes[SelectedSpell],SpellCastStrength[SelectedSpell],0); } } } int rapidcastdelay = 11; if (CharacterClass == 0 || CharacterClass == 9) rapidcastdelay = 12; if (CharacterClass == 1) rapidcastdelay = 11; if (CharacterClass == 2 || CharacterClass == 8) rapidcastdelay = 10; if (enableRapidCasting && GetCVar("dvds_rapidcast")) { Delay(MiscellaneousVars[48]); restart; } } script "StopSpellCasting" (void) net { ACS_NamedTerminate("SpellCasting", 0); } script "MagicEffects" (int Type, int Strength) { int PX, PY, PZ, PFZ, PA, PBA, PVA, FWX, FWY, I4; int speed, vspeed, angle, fireheight, healheight; int fireheight2, healheight2; int NovaRotations; int spreadangle, spreadpitch, baseangle, basepitch; int spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] int MaxHealthLimit = MaxHealthTrue * 2; int healingcap; int healamount; int stamhealamount; int oldhealthvalue; int finalhealvalue; // TERRAIN FLOOR CHECKS [Check the "floor" definitions in Terrain.txt if you want to add more] int inwater = 0; int waterfootclip = 10.0; if (CheckActorFloorTexture(0, "FLTWAWA1")) inwater++; if (CheckActorFloorTexture(0, "FLTFLWW1")) inwater++; if (CheckActorFloorTexture(0, "X_005")) inwater++; int insludge = 0; int sludgefootclip = 10.0; if (CheckActorFloorTexture(0, "FLTSLUD1")) insludge++; int inlava = 0; int lavafootclip = 10.0; if (CheckActorFloorTexture(0, "FLTLAVA1")) inlava++; if (CheckActorFloorTexture(0, "FLATHUH1")) inlava++; if (CheckActorFloorTexture(0, "X_001")) inlava++; int instrifeliquid = 0; int strifeliquidfootclip = 12.0; if (CheckActorFloorTexture(0, "F_WATR03")) instrifeliquid++; if (CheckActorFloorTexture(0, "F_WATR02")) instrifeliquid++; if (CheckActorFloorTexture(0, "F_WATR01")) instrifeliquid++; if (CheckActorFloorTexture(0, "F_VWATR3")) instrifeliquid++; if (CheckActorFloorTexture(0, "F_VWATR2")) instrifeliquid++; if (CheckActorFloorTexture(0, "F_VWATR1")) instrifeliquid++; if (CheckActorFloorTexture(0, "F_HWATR3")) instrifeliquid++; if (CheckActorFloorTexture(0, "F_HWATR2")) instrifeliquid++; if (CheckActorFloorTexture(0, "F_HWATR1")) instrifeliquid++; if (CheckActorFloorTexture(0, "F_PWATR3")) instrifeliquid++; if (CheckActorFloorTexture(0, "F_PWATR2")) instrifeliquid++; if (CheckActorFloorTexture(0, "F_PWATR1")) instrifeliquid++; PX = GetActorX(0); PY = GetActorY(0); PZ = GetActorZ(0); PFZ = GetActorFloorZ(0); PVA = -sin(GetActorPitch(0)) * 64 >> 16; PBA = FixedMul(GetActorAngle(0),255.0); fireheight = GetActorViewHeight(0) * 39 / 50; fireheight2 = fireheight / 65536; fireheight = FixedMul(fireheight,1.0); healheight = GetActorViewHeight(0) * 3 / 5; healheight2 = healheight / 65536; healheight = FixedMul(healheight,1.0); // PrintBold(s:"FireHeight: ",d:fireheight); PA = FixedMul(GetActorAngle(0),360.0); PVA = PVA * 3; int onfloor = 0; if (PZ <= PFZ) onfloor++; angle = GetActorAngle(0) >> 8; speed = cos(GetActorPitch(0)) * 64 >> 16; vspeed = -sin(GetActorPitch(0)) * 64 >> 16; if (GetCVar("dvdsdebug_showplayercoords") > 0) { PrintBold(s:"PlayerX: ",d:PX, s:"\nPlayerY: ",d:PY, s:"\nPlayerZ: ",d:PZ, s:"\nPlayerFloorZ: ",d:PFZ, s:"\nPlayerFireHeight: ",d:fireHeight, s:" [",d:fireheight2,s:"]", s:"\nPA: ",d:PA, s:"\nPBA: ",d:PBA, s:"\nPVA: ",d:PVA, s:"\nAngle: ",d:angle, s:"\nSpeed: ",d:speed, s:"\nVSpeed: ",d:vspeed, s:"\nOnFloor: ",d:onfloor, s:"\nInWater: ",d:inwater, s:"\nInSludge: ",d:insludge, s:"\nInLava: ",d:inlava, s:"\nInStrifeLiquid: ",d:instrifeliquid); } int buttons = GetPlayerInput(0, INPUT_BUTTONS); if ((PBA >= 0.0) && (PBA <= 64.0)) { FWX = 1.0 - FixedMul(0.015625,PBA); FWY = 0.0 + FixedMul(0.015625,PBA); } if ((PBA > 64.0) && (PBA <= 128.0)) { FWX = 0.0 - FixedMul(0.015625,PBA - 64.0); FWY = 1.0 - FixedMul(0.015625,PBA - 64.0); } if ((PBA > 128.0) && (PBA <= 192.0)) { FWX = -1.0 + FixedMul(0.015625,PBA - 128.0); FWY = 0.0 - FixedMul(0.015625,PBA - 128.0); } if ((PBA > 192.0) && (PBA <= 255.0)) { FWX = 0.0 + FixedMul(0.015625,PBA - 192.0); FWY = -1.0 + FixedMul(0.015625,PBA - 192.0); } FWX = FixedMul(FWX,32.0); FWY = FixedMul(FWY,32.0); int project_X = GetActorX(0); int project_Y = GetActorY(0); int project_Z = GetActorZ(0); int project_Pitch = GetActorPitch(0); int project_PitchSpread; int project_Angle = GetActorAngle(0); int project_AngleSpread; int project_XSpeed = FixedMul(cos(project_Angle), FixedMul(cos(project_Pitch), 16.0)); int project_YSpeed = FixedMul(sin(project_Angle), FixedMul(cos(project_Pitch), 16.0)); int project_ZSpeed = -FixedMul(sin(project_Pitch), 16.0); int project_XSpeedSpread; int project_YSpeedSpread; int project_ZSpeedSpread; int project_FireHeight = GetActorViewHeight(0) * 39 / 50; int project_Offset = 8.0; str spellname; str spellname2; str spellname3; str spellname4; /* if (onfloor > 0) { if (inwater > 0) project_Offset += waterfootclip; if (insludge > 0) project_Offset += sludgefootclip; if (inlava > 0) project_Offset += lavafootclip; if (instrifeliquid > 0) project_Offset += strifeliquidfootclip; } */ int project_RealZ = project_Z + project_FireHeight + project_Offset; if (GetCVar("dvdsdebug_showspellpos") > 0) { PrintBold(s:"Projectile X: ",d:project_X, s:"\nProjectile Y: ",d:project_Y, s:"\nProjectile Z: ",d:project_Z, s:"\nFireHeight: ",d:project_FireHeight, s:"\nOffset: ",d:project_Offset, s:"\nProjectile REAL Z: ",d:project_RealZ, s:"\nPitch: ",d:project_Pitch, s:"\nAngle: ",d:project_Angle, s:"\nXSpeed: ",d:project_XSpeed, s:"\nYSpeed: ",d:project_YSpeed, s:"\nZSpeed: ",d:project_ZSpeed); } int BuffTimeGive; int BuffTimeMulti = GetCVar("dvds_spellbufftimemultiplier"); if (Type == 0) // Straight Ahead Fireball Shooter { Switch(Strength) { Case -3: // Healing Shots { spellname = "Heal1Shot"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 32.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); } } Break; } Case -2: // Healing Shots { spellname = "Heal2Shot"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 32.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); } } Break; } Case -1: // Healing Shots { spellname = "Heal3Shot"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 32.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4443); } } Break; } Case 0: // Minor Magic Missile { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (buttons & BT_ZOOM) { spellname = "MinorMagicMissileSeek"; } else { spellname = "MinorMagicMissile"; } baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 1: // Chill Touch { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); spellname = "ChillTouch"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 2: // Minor Fireball { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (buttons & BT_ZOOM) { spellname = "MinorFireBallSeek"; } else { spellname = "MinorFireBall"; } baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 3: // Minor Ice Blast { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (buttons & BT_ZOOM) { spellname = "MinorHexenIceShardSeek"; } else { spellname = "MinorHexenIceShard"; } // Low Row [1] baseangle = 0; // 0 degree angle basepitch = -182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // Middle Row [3] baseangle = 182; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 0; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -182; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // High Row [1] baseangle = 0; // 0 degree angle basepitch = 182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 4: // Magic Missile { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (buttons & BT_ZOOM) { spellname = "MagicMissileSeek"; } else { spellname = "MagicMissile"; } baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 5: // Fireball { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (buttons & BT_ZOOM) { spellname = "NormalFireBallSeek"; } else { spellname = "NormalFireBall"; } baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 6: // Exploding Glyph { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); SpawnProjectile(0, "ExplodingGlyphBase", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeed, project_YSpeed, project_ZSpeed, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); Break; } Case 7: // Acid Rain { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); spellname = "AcidRain"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 8: // Freezing Glyph { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); SpawnProjectile(0, "FreezingGlyphBase", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeed, project_YSpeed, project_ZSpeed, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); Break; } Case 9: // Major Magic Missile { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (buttons & BT_ZOOM) { spellname = "MajorMagicMissileSeek"; } else { spellname = "MajorMagicMissile"; } baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 10: // Minor Lightning { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); baseangle = 0; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 11: // Ice Blast { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (buttons & BT_ZOOM) { spellname = "HexenIceShardSeek"; } else { spellname = "HexenIceShard"; } // Lowest Row [1] baseangle = 0; // 0 degree angle basepitch = 364; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // Lower Row [3] baseangle = 182; // 0 degree angle basepitch = 182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 0; // 0 degree angle basepitch = 182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -182; // 0 degree angle basepitch = 182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // Middle Row [5] baseangle = 364; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 182; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 0; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -182; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -364; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle-364), FixedMul(cos(project_Pitch+0), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle-364), FixedMul(cos(project_Pitch+0), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+0), 16.0); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // Higher Row [3] baseangle = 182; // 0 degree angle basepitch = -182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 0; // 0 degree angle basepitch = -182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -182; // 0 degree angle basepitch = -182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // Highest Row [1] baseangle = 0; // 0 degree angle basepitch = -364; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 12: // Lightning { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); baseangle = 0; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 728; // 364 // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -728; // -364 // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 13: // Major Fireball { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (buttons & BT_ZOOM) { spellname = "MajorFireBallSeek"; } else { spellname = "MajorFireBall"; } baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 14: // Major Ice Blast { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (buttons & BT_ZOOM) { spellname = "MajorHexenIceShardSeek"; } else { spellname = "MajorHexenIceShard"; } // Lowest Row [1] baseangle = 0; // 0 degree angle basepitch = -546; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // Lower Row [3] baseangle = 182; // 0 degree angle basepitch = -364; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 0; // 0 degree angle basepitch = -364; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -182; // 0 degree angle basepitch = -364; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // Low Row [5] baseangle = 364; // 0 degree angle basepitch = -182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 182; // 0 degree angle basepitch = -182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 0; // 0 degree angle basepitch = -182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -182; // 0 degree angle basepitch = -182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -364; // 0 degree angle basepitch = -182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // Middle [7] baseangle = 546; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 364; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 182; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 0; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -182; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -364; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -546; // 0 degree angle basepitch = 0; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // High Row [5] baseangle = 364; // 0 degree angle basepitch = 182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 182; // 0 degree angle basepitch = 182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 0; // 0 degree angle basepitch = 182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -182; // 0 degree angle basepitch = 182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -364; // 0 degree angle basepitch = 182; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // Higher Row [3] baseangle = 182; // 0 degree angle basepitch = 364; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 0; // 0 degree angle basepitch = 364; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -182; // 0 degree angle basepitch = 364; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } // Highest Row [1] baseangle = 0; // 0 degree angle basepitch = 546; // -15 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 15: // Major Lightning { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 728; // 364 // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = 1456; // 728 // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -1456; //-728 // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } baseangle = -728; //-364 // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, "HexenLightningC", 0, 0, 0, 0, 2001); SpawnProjectile(0, "HexenLightningF", 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 16: // Raging Spirits { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); SpawnProjectile(0,"RagingSpirit2Base", (PBA >> 16), 100, PVA, 0, 2002); SpawnProjectile(0,"RagingSpirit2Base", (PBA >> 16), 100, PVA, 0, 2003); SpawnProjectile(0,"RagingSpirit2Base", (PBA >> 16), 100, PVA, 0, 2004); SpawnProjectile(0,"RagingSpirit2Base", (PBA >> 16), 100, PVA, 0, 2005); SpawnProjectile(0,"RagingSpirit2Base", (PBA >> 16), 100, PVA, 0, 2006); SetActorPosition(2002,PX,PY,PZ+fireheight,0); SetActorPosition(2003,PX,PY,PZ+fireheight,0); SetActorPosition(2004,PX,PY,PZ+fireheight,0); SetActorPosition(2005,PX,PY,PZ+fireheight,0); SetActorPosition(2006,PX,PY,PZ+fireheight,0); Break; } Case 17: // Ultra Magic Missile { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (buttons & BT_ZOOM) { spellname = "UltraMagicMissileSeek"; } else { spellname = "UltraMagicMissile"; } baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } Break; } Case 18: // Minor Raging Spirits { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); SpawnProjectile(0,"RagingSpiritBase", (PBA >> 16), 100, PVA, 0, 2002); SpawnProjectile(0,"RagingSpiritBase", (PBA >> 16), 100, PVA, 0, 2003); SetActorPosition(2002,PX,PY,PZ+fireheight,0); SetActorPosition(2003,PX,PY,PZ+fireheight,0); Break; } } Thing_Remove(1002); } if (Type == 1) // Healing { int StamHealMin; int StamHealMax; int StamHealCap; int SpreadHealRollNum; int SpreadHealMaxRolls = 1; if (PowerupTimer[8] > 0) SpreadHealMaxRolls = 3; if (PowerupTimer[9] > 0) SpreadHealMaxRolls = 7; if (Strength < 10) // Not the Major Healing Spell [Deggaris and Illucia Only] { if (Strength < 3) // Minor Healing Spell [Deggaris and Illucia Only] { healingcap = MaxHealthTrue; StamHealCap = MiscellaneousVars[323]; for (SpreadHealRollNum = 0; SpreadHealRollNum < SpreadHealMaxRolls; SpreadHealRollNum++) { healamount += random(MiscellaneousVars[281],MiscellaneousVars[282]); stamhealamount += random(MiscellaneousVars[321],MiscellaneousVars[322]); } FadeRange(63,63,63,0.8,255,255,255,0.0,1.0); if (CharacterClass == 2) ActivatorSound("healing_dq",127); else ActivatorSound("HealSpell1",127); if (CharacterClass == 2 && random(1,16) == 1) MiscellaneousVars[25206]++; SpawnProjectile(0, "Heal1Spark", 0, 0, 0, 0, 2001); } else // Healing Spell [Deggaris and Illucia Only] { healingcap = MaxHealthTrue; StamHealCap = MiscellaneousVars[326]; for (SpreadHealRollNum = 0; SpreadHealRollNum < SpreadHealMaxRolls; SpreadHealRollNum++) { healamount = random(MiscellaneousVars[283],MiscellaneousVars[284]); stamhealamount = random(MiscellaneousVars[324],MiscellaneousVars[325]); } FadeRange(127,127,127,0.8,255,255,255,0.0,1.0); if (CharacterClass == 2) ActivatorSound("healing_dq",127); else ActivatorSound("HealSpell1",127); if (CharacterClass == 2 && random(1,16) == 1) MiscellaneousVars[25207]++; SpawnProjectile(0, "Heal2Spark", 0, 0, 0, 0, 2001); } } else // Major Healing Spell [Deggaris and Illucia Only] { healingcap = MaxHealthLimit; StamHealCap = MiscellaneousVars[329]; for (SpreadHealRollNum = 0; SpreadHealRollNum < SpreadHealMaxRolls; SpreadHealRollNum++) { healamount = random(MiscellaneousVars[285],MiscellaneousVars[286]); stamhealamount = random(MiscellaneousVars[327],MiscellaneousVars[328]); } FadeRange(193,193,193,0.8,255,255,255,0.0,1.0); if (CharacterClass == 2) ActivatorSound("healing_dq",127); else ActivatorSound("HealSpell1",127); if (CharacterClass == 2 && random(1,16) == 1) MiscellaneousVars[25208]++; SpawnProjectile(0, "Heal3Spark", 0, 0, 0, 0, 2001); } SetActorVelocity(2001, 0, 0, 0, 0, 0); SetActorAngle(2001, 0); SetActorPosition(2001,PX,PY,PZ+healheight,0); Thing_ChangeTID(2001,4444); oldhealthvalue = MiscellaneousVars[25001]; finalhealvalue = oldhealthvalue + healamount; // healamount[[]] if (oldhealthvalue < healingcap) { MiscellaneousVars[234] = healamount; // for heal messages and HPRegenBonPenTimer if (finalhealvalue >= healingcap) MiscellaneousVars[260] = (finalhealvalue - oldhealthvalue) - (finalhealvalue - healingcap); else MiscellaneousVars[260] = healamount; ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (finalhealvalue < 1) finalhealvalue = 1; // Prevents the gaming from killing you when trying to heal >__>; if (finalhealvalue > healingcap) finalhealvalue = healingcap; SetActorProperty(0,APROP_HEALTH,finalhealvalue); } if (MiscellaneousVars[21] < StamHealCap) { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); MiscellaneousVars[21] += stamhealamount; if (MiscellaneousVars[21] < 0) MiscellaneousVars[21] = 0; if (MiscellaneousVars[21] > StamHealCap) MiscellaneousVars[21] = StamHealCap; } } if (Type == 2) // Light { ActivatorSound("CastLightRoom",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[0] += BuffTimeGive; } if (Type == 3) // Invisibility { ActivatorSound("CastInvisiblity",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[1] += BuffTimeGive; } if (Type == 4) // Flight { ActivatorSound("CastFlight",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[2] += BuffTimeGive; } if (Type == 5) // Berserk { ActivatorSound("CastBerserk",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[23] += BuffTimeGive; } int DoubleSummon; if (Type == 6) // Summon Monster { DoubleSummon = 0; if (random(1,100) < 25) DoubleSummon = 1; if (Strength == 0) // Weak Monster { SpawnForced(FriendIDDoom[random(0,17)],PX + (Random(-8,8) << 16),PY + (Random(-8,8) << 16),PZ + (Random(0,4) << 16),1002,PA >> 16); if (ThingCount(0,1002) > 0) { SetUserVariable(1002, "user_summoned", 1); ActivatorSound("monstersummon",127); if (CharacterClass == 2 && random(1,5) == 1) MiscellaneousVars[25209]++; Thing_ChangeTID(1002,1000); CurrentMana -= MiscellaneousVars[555]; MPRegenPenaltySet(MiscellaneousVars[555]); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; PrintBold(s:"Successful Summon!"); if (DoubleSummon == 1) { SpawnForced(FriendIDDoom[random(0,17)],PX + (Random(-8,8) << 16),PY + (Random(-8,8) << 16),PZ + (Random(0,4) << 16),1003,PA >> 16); if (ThingCount(0,1003) > 0) { SetUserVariable(1003, "user_summoned", 1); ActivatorSound("monstersummon",127); if (CharacterClass == 2 && random(1,5) == 1) MiscellaneousVars[25209]++; Thing_ChangeTID(1003,1000); terminate; } } } else { MiscellaneousVars[25201]++; // Plays "inv_fail" PrintBold(s:"Summon Failed!"); } } if (Strength == 1) // Moderate Monster { SpawnForced(FriendIDDoom[random(18,29)],PX + (Random(-8,8) << 16),PY + (Random(-8,8) << 16),PZ + (Random(0,4) << 16),1002,PA >> 16); if (ThingCount(0,1002) > 0) { SetUserVariable(1002, "user_summoned", 1); ActivatorSound("monstersummon",127); if (CharacterClass == 2 && random(1,5) == 1) MiscellaneousVars[25209]++; Thing_ChangeTID(1002,1000); CurrentMana -= MiscellaneousVars[555]; MPRegenPenaltySet(MiscellaneousVars[555]); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; PrintBold(s:"Successful Summon!"); if (DoubleSummon == 1) { SpawnForced(FriendIDDoom[random(18,29)],PX + (Random(-8,8) << 16),PY + (Random(-8,8) << 16),PZ + (Random(0,4) << 16),1003,PA >> 16); if (ThingCount(0,1003) > 0) { SetUserVariable(1003, "user_summoned", 1); ActivatorSound("monstersummon",127); if (CharacterClass == 2 && random(1,5) == 1) MiscellaneousVars[25209]++; Thing_ChangeTID(1003,1000); terminate; } } } else { MiscellaneousVars[25201]++; // Plays "inv_fail" PrintBold(s:"Summon Failed!"); } } if (Strength == 2) // Strong Monster { SpawnForced(FriendIDDoom[random(30,48)],PX + (Random(-8,8) << 16),PY + (Random(-8,8) << 16),PZ + (Random(0,4) << 16),1002,PA >> 16); if (ThingCount(0,1002) > 0) { SetUserVariable(1002, "user_summoned", 1); ActivatorSound("monstersummon",127); if (CharacterClass == 2 && random(1,5) == 1) MiscellaneousVars[25209]++; Thing_ChangeTID(1002,1000); CurrentMana -= MiscellaneousVars[555]; MPRegenPenaltySet(MiscellaneousVars[555]); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; PrintBold(s:"Successful Summon!"); if (DoubleSummon == 1) { SpawnForced(FriendIDDoom[random(30,48)],PX + (Random(-8,8) << 16),PY + (Random(-8,8) << 16),PZ + (Random(0,4) << 16),1003,PA >> 16); if (ThingCount(0,1003) > 0) { SetUserVariable(1003, "user_summoned", 1); ActivatorSound("monstersummon",127); if (CharacterClass == 2 && random(1,5) == 1) MiscellaneousVars[25209]++; Thing_ChangeTID(1003,1000); terminate; } } } else { MiscellaneousVars[25201]++; // Plays "inv_fail" PrintBold(s:"Summon Failed!"); } } if (Strength == 3) // ArchVile/Diabloist { SpawnForced(FriendIDDoom[random(49,50)],PX + (Random(-8,8) << 16),PY + (Random(-8,8) << 16),PZ + (Random(0,4) << 16),1002,PA >> 16); if (ThingCount(0,1002) > 0) { SetUserVariable(1002, "user_summoned", 1); ActivatorSound("monstersummon",127); if (CharacterClass == 2 && random(1,5) == 1) MiscellaneousVars[25209]++; Thing_ChangeTID(1002,1000); CurrentMana -= MiscellaneousVars[555]; MPRegenPenaltySet(MiscellaneousVars[555]); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; PrintBold(s:"Successful Summon!"); } else { MiscellaneousVars[25201]++; // Plays "inv_fail" PrintBold(s:"Summon Failed!"); } } if (Strength == 4) // Cyberdemon/Annihilator { SpawnForced(FriendIDDoom[random(51,52)],PX + (Random(-8,8) << 16),PY + (Random(-8,8) << 16),PZ + (Random(0,4) << 16),1002,PA >> 16); if (ThingCount(0,1002) > 0) { SetUserVariable(1002, "user_summoned", 1); ActivatorSound("monstersummon",127); if (CharacterClass == 2 && random(1,5) == 1) MiscellaneousVars[25209]++; Thing_ChangeTID(1002,1000); CurrentMana -= MiscellaneousVars[555]; MPRegenPenaltySet(MiscellaneousVars[555]); MiscellaneousVars[243] = CurrentMana; MiscellaneousVars[238] = CurrentMana; PrintBold(s:"Successful Summon!"); } else { MiscellaneousVars[25201]++; // Plays "inv_fail" PrintBold(s:"Summon Failed!"); } } } if (Type == 7) // Novas { if (Strength == 0) // Fireball Nova { for (NovaRotations = 0; NovaRotations < 32; NovaRotations++) { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); spellname = "NormalFireBall"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } } } if (Strength == 1) // Ice Nova { for (NovaRotations = 0; NovaRotations < 32; NovaRotations++) { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); spellname = "HexenIceShard"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } } } if (Strength == 2) // Lightning Nova { for (NovaRotations = 0; NovaRotations < 32; NovaRotations++) { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); spellname = "HexenLightningF"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } spellname = "HexenLightningC"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle - (2048 + (NovaRotations * 2048))), FixedMul(cos(project_Pitch+basepitch+spreadpitch), 16.0)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle - (2048 + (NovaRotations * 2048))); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } } } } if (Type == 8) // Stealth { ActivatorSound("CastStealth",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[3] += BuffTimeGive; } if (Type == 9) // Invulnerability { ActivatorSound("CastInvuln",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[4] += BuffTimeGive; } if (Type == 10) // Poison Clouds { SpawnForced("MapSpot",PX+FWX,PY+FWY,PZ+32.0,1002,PBA); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { SpawnForced("MapSpot",PX+FWX,PY+FWY,PZ+32.0,1004,PBA); SpawnForced("MapSpot",PX+FWX,PY+FWY,PZ+32.0,1006,PBA); if (PowerupTimer[9] > 0) { SpawnForced("MapSpot",PX+FWX,PY+FWY,PZ+32.0,1008,PBA); SpawnForced("MapSpot",PX+FWX,PY+FWY,PZ+32.0,1010,PBA); SpawnForced("MapSpot",PX+FWX,PY+FWY,PZ+32.0,1012,PBA); SpawnForced("MapSpot",PX+FWX,PY+FWY,PZ+32.0,1014,PBA); } } if (ThingCount(0,1002) < 1 && ThingCount(0,1004) < 1 && ThingCount(0,1006) < 1 && ThingCount(0,1008) < 1 && ThingCount(0,1010) < 1 && ThingCount(0,1012) < 1 && ThingCount(0,1014) < 1) // failed... try again { ACS_NamedExecuteAlways("MagicEffects",0,Type,Strength,0); } if (Strength == 0) { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); spellname = "MinorPoisonCloud"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } } if (Strength == 1) { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); spellname = "NormalPoisonCloud"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } } if (Strength == 2) { ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); spellname = "MajorPoisonCloud"; baseangle = 0; // 0 degree angle basepitch = 0; // 0 degree pitch spreadangle = 0; // 0 degree angle spreadpitch = 0; // 0 degree pitch spelllaunchspdmulti = 16.0; // Basically determines the final speed of the projectile [usually 16.0] project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0 || PowerupTimer[8] > 0) { spreadangle = 2730; // 15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -2730; // -15 degree angle spreadpitch = 0; // 0 degree pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); if (PowerupTimer[9] > 0) { spreadangle = 1365; // 7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = 1365; // 7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = -1365; // -7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); spreadangle = -1365; // -7.5d angle spreadpitch = 1365; // 7.5d pitch project_XSpeedSpread = FixedMul(cos(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_YSpeedSpread = FixedMul(sin(project_Angle+baseangle+spreadangle), FixedMul(cos(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti)); project_ZSpeedSpread = -FixedMul(sin(project_Pitch+basepitch+spreadpitch), spelllaunchspdmulti); SpawnProjectile(0, spellname, 0, 0, 0, 0, 2001); SetActorVelocity(2001, project_XSpeedSpread, project_YSpeedSpread, project_ZSpeedSpread, 0, 0); SetActorAngle(2001, project_Angle); SetActorPosition(2001, project_X, project_Y, project_RealZ, 0); Thing_ChangeTID(2001,4444); } } } } if (Type == 11) // Armor { if (Strength == 0) // Stone Skin [Deggaris/Illucia Only] { if (PowerupTimer[7] > 0) { if (CheckInventory("Armor") < 2000) { if (CharacterClass != 2 && CharacterClass != 8 && CharacterClass != 9) GiveInventory("StoneSkinGA",1); else GiveInventory("MaxHealthBonusREAL",4); } } else { if (CheckInventory("Armor") < 500) { if (CharacterClass != 2 && CharacterClass != 8 && CharacterClass != 9) GiveInventory("StoneSkin",1); else GiveInventory("MaxHealthBonusREAL",1); } } } else if (Strength == 1) // Diamond Skin [Deggaris/Illucia Only] { if (PowerupTimer[7] > 0) { if (CheckInventory("Armor") < 5000) { if (CharacterClass != 2 && CharacterClass != 8 && CharacterClass != 9) GiveInventory("DiamondSkinGA",1); else GiveInventory("MaxHealthBonusREAL",4); } } else { if (CheckInventory("Armor") < 1250) { if (CharacterClass != 2 && CharacterClass != 8 && CharacterClass != 9) GiveInventory("DiamondSkin",1); else GiveInventory("MaxHealthBonusREAL",1); } } } } if (Type == 12) // Computer Map { ActivatorSound("CastFarsight",127); MiscellaneousVars[25036]++; } if (Type == 13) // Freeze Time { BuffTimeGive = Strength * 35; ActivatorSound("CastTimeFreeze",127); BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[5] += BuffTimeGive; } if (Type == 14) // Terrorization Aura { ActivatorSound("CastTerrorAura",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[6] += BuffTimeGive; } if (Type == 15) // Ammo Spawner { SpawnForced("ClipBoxNew",PX+20,PY+20,PZ+10.0,0,0); SpawnForced("ShellBoxNew",PX-20,PY+20,PZ+10.0,0,0); SpawnForced("RocketBoxNew",PX+10,PY+10,PZ+10.0,0,0); SpawnForced("CellPackNew",PX-10,PY+10,PZ+10.0,0,0); if (random(0,800) < 100) { SpawnForced("ClipBoxNew",PX+20,PY-20,PZ+10.0,0,0); SpawnForced("ShellBoxNew",PX-20,PY-20,PZ+10.0,0,0); SpawnForced("RocketBoxNew",PX+10,PY-10,PZ+10.0,0,0); SpawnForced("CellPackNew",PX-10,PY-10,PZ+10.0,0,0); } if (random(0,800) < 25) { SpawnForced("ClipBoxNew",PX+20,PY+20,PZ+10.0,0,0); SpawnForced("ShellBoxNew",PX-20,PY+20,PZ+10.0,0,0); SpawnForced("RocketBoxNew",PX+10,PY+10,PZ+10.0,0,0); SpawnForced("CellPackNew",PX-10,PY+10,PZ+10.0,0,0); SpawnForced("ClipBoxNew",PX+20,PY-20,PZ+10.0,0,0); SpawnForced("ShellBoxNew",PX-20,PY-20,PZ+10.0,0,0); SpawnForced("RocketBoxNew",PX+10,PY-10,PZ+10.0,0,0); SpawnForced("CellPackNew",PX-10,PY-10,PZ+10.0,0,0); } } if (Type == 16) // Divine Avatar { ActivatorSound("CastDivineAvatar",127); if (CharacterClass == 2 && random(1,16) == 4) MiscellaneousVars[25210]++; BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[7] += BuffTimeGive; MiscellaneousVars[14] += 1; } if (Type == 17) // Spreader Aura Lv. 1 { ActivatorSound("CastSpreaderAura1",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[8] += BuffTimeGive; } if (Type == 18) // Spreader Aura Lv. 2 { ActivatorSound("CastSpreaderAura1",127); ActivatorSound("CastSpreaderAura2",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[9] += BuffTimeGive; } if (Type == 19) // Oomph { ActivatorSound("use_paxa",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[10] += BuffTimeGive; } if (Type == 20) // Buff { ActivatorSound("use_paxa",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[11] += BuffTimeGive; } if (Type == 21) // Accelerate { ActivatorSound("use_paxa",127); BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[12] += BuffTimeGive; } if (Type == 22) // Desperado Damsel { BuffTimeGive = Strength * 35; BuffTimeGive = (BuffTimeGive * BuffTimeMulti) / 100; PowerupTimer[26] += BuffTimeGive; } } script "CreateTranslationTables" OPEN { CreateTranslation(16, 64:79=88:103, 48:63=103:88, 144:151=88:103, 32:47=224:231, 168:191=224:231, 224:231=[255, 255, 255]:[128, 255, 128], 208:223=112:127); // Sauravatar CreateTranslation(17, 112:127=48:63); // No Armor CreateTranslation(18, 112:127=112:127); // Green Armor CreateTranslation(19, 112:127=240:246); // Blue Armor CreateTranslation(20, 112:127=96:111); // Stone Skin CreateTranslation(21, 112:127=88:103); // Diamond Skin CreateTranslation(22, 112:127=196:207); // Blue Armor (Armor Bonus) CreateTranslation(30, 80:111=112:127); // For Healing on the Damage Indicator CreateTranslation(31, 80:111=16:31); // For Damage on the Damage Indicator [normal] CreateTranslation(32, 80:111=32:47); // For Damage on the Damage Indicator [CRITICAL] // Doom/Doom2 [heal/damage] CreateTranslation(33, 80:111=112:127); // For Healing on the Damage Indicator [NEW DQH NUMBERS] CreateTranslation(34, 80:111=208:223); // For Damage on the Damage Indicator [normal] [NEW DQH NUMBERS] CreateTranslation(35, 80:111=216:223); // For Damage on the Damage Indicator [CRITICAL] [NEW DQH NUMBERS] // Heretic [heal/damage] CreateTranslation(36, 0:31=209:221); // For Healing on the Damage Indicator [NEW DQH NUMBERS] CreateTranslation(37, 0:31=137:144); // For Damage on the Damage Indicator [normal] [NEW DQH NUMBERS] CreateTranslation(38, 0:31=137:140); // For Damage on the Damage Indicator [CRITICAL] [NEW DQH NUMBERS] // Hexen [heal/damage] CreateTranslation(39, 33:50=112:127); // For Healing on the Damage Indicator [NEW DQH NUMBERS] CreateTranslation(40, 33:50=203:210); // For Damage on the Damage Indicator [normal] [NEW DQH NUMBERS] CreateTranslation(41, 33:50=203:206); // For Damage on the Damage Indicator [CRITICAL] [NEW DQH NUMBERS] // Strife [heal/damage] CreateTranslation(42, 1:31=112:127); // For Healing on the Damage Indicator [NEW DQH NUMBERS] CreateTranslation(43, 1:31=224:231); // For Damage on the Damage Indicator [normal] [NEW DQH NUMBERS] CreateTranslation(44, 1:31=228:231); // For Damage on the Damage Indicator [CRITICAL] [NEW DQH NUMBERS] } //************************* //** IN GAME MENU SYSTEM ** //************************* // [0] = Main Switch. Menus in general are on/off (0/1) // [1] = Menu Highlight/Selection [main] // [2] = Menu Highlight/Selection [secondary] // [3] = Menu Highlight/Selection [tritary] // [4] = Main Menu Type // [5] = Sub Menu Type // [6] = SubSub Menu Type // [10001] = Use Push Delay Timer // [10002] = Up Push Delay Timer // [10003] = Down Push Delay Timer // [10004] = Left Push Delay Timer // [10005] = Right Push Delay Timer // [10006] = Back Push Delay Timer script "MENUKEY" (void) { if (MiscellaneousVars[25001] > 0) { if (MenuSystemVars[0] == 0) { MiscellaneousVars[271] = GetActorVelX(0); MiscellaneousVars[272] = GetActorVelY(0); MiscellaneousVars[273] = GetActorVelZ(0); SetActorVelocity(0, 0, 0, 0, 0, 0); MenuSystemVars[0] = 1; // Turns On } else { MenuSystemVars[0] = 0; // Turns Off MenuSystemVars[1] = 0; // Resets Main Selection MenuSystemVars[2] = 0; // Resets Secondary Selection MenuSystemVars[3] = 0; // Resets Tritary Selection MenuSystemVars[4] = 0; // Resets Menu Type MenuSystemVars[5] = 0; // Resets SubMenu Type MenuSystemVars[6] = 0; // Resets SubSubMenu Type MenuSystemVars[10001] = 0; // Use Timer Off MenuSystemVars[10002] = 0; // Up Timer Off MenuSystemVars[10003] = 0; // Down Timer Off MenuSystemVars[10004] = 0; // Left Timer Off MenuSystemVars[10005] = 0; // Right Timer Off MenuSystemVars[10006] = 0; // Back Timer Off SetActorVelocity(0, MiscellaneousVars[271], MiscellaneousVars[272], MiscellaneousVars[273], 0, 0); MiscellaneousVars[271] = 0; MiscellaneousVars[272] = 0; MiscellaneousVars[273] = 0; } } } function void GetPerkSound (void) { MiscellaneousVars[25205]++; } // Mechanical Stuff script "INGAMEMENUS_MECHANICS" ENTER { int temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, temp9, temp10, temp11, temp12, temp13, temp14, temp15, temp16, temp17, temp18, temp19, temp20; int temp21, temp22, temp23, temp24, temp25, temp26, temp27, temp28, temp29, temp30, temp31, temp32, temp33, temp34, temp35, temp36, temp37, temp38, temp39, temp40; int ticresetinterval = MiscellaneousVars[445]; int ticresetinterval2 = MiscellaneousVars[446]; int ticresetinterval3 = MiscellaneousVars[447]; int buttons = GetPlayerInput(0, INPUT_BUTTONS); int perksmincost = GetCVar("dvdsperks_minimumcost"); if (MenuSystemVars[0] == 1) // Menu is on... { // Use press button if (buttons & BT_USE) { if (MenuSystemVars[10001] <= 0) { MenuSystemVars[10001] = ticresetinterval; if (MenuSystemVars[4] == 0) // Main Menu { if (MenuSystemVars[1] == 1) { MenuSystemVars[4] = 1; MenuSystemVars[1] = 0; MenuSystemVars[2] = 0; MenuSystemVars[3] = 0; } // Go to Stats if (MenuSystemVars[1] == 2) { MenuSystemVars[4] = 2; MenuSystemVars[1] = 0; MenuSystemVars[2] = 0; MenuSystemVars[3] = 0; } // Go to Spells if (MiscellaneousVars[110001] == 1 && MenuSystemVars[1] == 3) { MenuSystemVars[4] = 3; MenuSystemVars[1] = 0; MenuSystemVars[2] = 0; MenuSystemVars[3] = 0; } // Go to Perks if (MenuSystemVars[1] == 4) { MenuSystemVars[4] = 4; MenuSystemVars[1] = 0; MenuSystemVars[2] = 0; MenuSystemVars[3] = 0; } // Go to Codex } else if (MenuSystemVars[4] == 1) // Stats Menu { MenuSystemVars[1] = 1; // Set Main selection MenuSystemVars[2] = 0; // Set Secondary selection to 0 MenuSystemVars[3] = 0; // Set Tritary selection to 0 MenuSystemVars[4] = 0; // Set Menu Page to main MenuSystemVars[5] = 0; // Reset Submenu } else if (MenuSystemVars[4] == 2) // Spells Menu { MenuSystemVars[1] = 2; // Set Main selection MenuSystemVars[2] = 0; // Set Secondary selection to 0 MenuSystemVars[3] = 0; // Set Tritary selection to 0 MenuSystemVars[4] = 0; // Set Menu Page to main MenuSystemVars[5] = 0; // Reset Submenu } else if (MenuSystemVars[4] == 3) // Perks Menu { MenuSystemVars[10001] = ticresetinterval2; // Input Delay Extension [Use key] if (MenuSystemVars[1] == 0) // No Selection - go back a menu { MenuSystemVars[1] = 3; // Set Main selection MenuSystemVars[2] = 0; // Set Secondary selection to 0 MenuSystemVars[3] = 0; // Set Tritary selection to 0 MenuSystemVars[4] = 0; // Set Menu Page to main MenuSystemVars[5] = 0; // Reset Submenu } else if (MenuSystemVars[5] == 0) // General Stat Perks { if (MenuSystemVars[1] == 1) // LifeUp [5] { temp6 = 10001; // MiscellaneousVars[] input temp1 = 3 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 5 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 7 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 11 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 15 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 2) // MagiUp [5] { temp6 = 10003; // MiscellaneousVars[] input temp1 = 3 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 5 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 7 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 11 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 15 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 3) // StamUp [5] { temp6 = 10005; // MiscellaneousVars[] input temp1 = 3 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 5 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 7 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 11 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 15 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 4) // DodgeMore [5] { temp6 = 10007; // MiscellaneousVars[] input temp1 = 3 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 5 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 7 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 11 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 15 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 5) // JumpMore [5] { temp6 = 10009; // MiscellaneousVars[] input temp1 = 3 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 5 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 7 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 11 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 15 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 6) // PsycheFast [5] { temp6 = 10011; // MiscellaneousVars[] input temp1 = 3 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 5 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 7 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 11 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 15 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 7) // RegenHPFast [5] { temp6 = 10013; // MiscellaneousVars[] input temp1 = 6 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 9 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 12 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 18 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 24 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 8) // RegenMPFast [5] { temp6 = 10015; // MiscellaneousVars[] input temp1 = 6 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 9 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 12 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 18 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 24 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 9) // RegenStamFast [5] { temp6 = 10017; // MiscellaneousVars[] input temp1 = 6 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 9 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 12 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 18 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 24 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 10) // OnTheMove [5] { temp6 = 10045; // MiscellaneousVars[] input temp1 = 6 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 7 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 10 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 13 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 17 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } } else if (MenuSystemVars[5] == 1) // Character-Specific Stat Perks { if (CharacterClass == 0) // Deggaris Only { if (MenuSystemVars[1] == 1) // MagiUp EX [2] { temp6 = 10004; // MiscellaneousVars[] input temp7 = 10003; // MiscellaneousVars[] [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp9 = 4; // MiscellaneousVars[] input [requirement level threshold 2] temp1 = 11 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 16 * MiscellaneousVars[280] / 100; // Level 2 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[temp7] >= temp9 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } } if (MenuSystemVars[1] == 2) // DodgeMore EX [1] { temp6 = 10008; // MiscellaneousVars[] input temp7 = 10007; // MiscellaneousVars[] [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp1 = 11 * MiscellaneousVars[280] / 100; // Level 1 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } } if (MenuSystemVars[1] == 3) // JumpMore EX [2] { temp6 = 10010; // MiscellaneousVars[] input temp7 = 10009; // MiscellaneousVars[] [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp9 = 4; // MiscellaneousVars[] input [requirement level threshold 2] temp1 = 11 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 16 * MiscellaneousVars[280] / 100; // Level 2 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[temp7] >= temp9 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } } } else if (CharacterClass == 1) // Illucia Only { if (MenuSystemVars[1] == 1) // StamUp EX [2] { temp6 = 10006; // MiscellaneousVars[] input [main perk] temp7 = 10005; // MiscellaneousVars[] input [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp9 = 4; // MiscellaneousVars[] input [requirement level threshold 2] temp1 = 11 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 16 * MiscellaneousVars[280] / 100; // Level 2 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[temp7] >= temp9 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } } if (MenuSystemVars[1] == 2) // DodgeMore EX [2] { temp6 = 10008; // MiscellaneousVars[] input temp7 = 10007; // MiscellaneousVars[] [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp9 = 4; // MiscellaneousVars[] input [requirement level threshold 2] temp1 = 11 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 16 * MiscellaneousVars[280] / 100; // Level 2 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[temp7] >= temp9 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } } if (MenuSystemVars[1] == 3) // JumpMore EX [1] { temp6 = 10010; // MiscellaneousVars[] input temp7 = 10009; // MiscellaneousVars[] [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp1 = 11 * MiscellaneousVars[280] / 100; // Level 1 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } } } else if (CharacterClass == 2) // Flora { if (MenuSystemVars[1] == 1) // LifeUp EX [2] { temp6 = 10002; // MiscellaneousVars[] input temp7 = 10001; // MiscellaneousVars[] [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp9 = 4; // MiscellaneousVars[] input [requirement level threshold 2] temp1 = 11 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 16 * MiscellaneousVars[280] / 100; // Level 2 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[temp7] >= temp9 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } } if (MenuSystemVars[1] == 2) // PsycheFast EX [2] { temp6 = 10012; // MiscellaneousVars[] input temp7 = 10011; // MiscellaneousVars[] input [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp9 = 4; // MiscellaneousVars[] input [requirement level threshold 2] temp1 = 11 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 16 * MiscellaneousVars[280] / 100; // Level 2 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[temp7] >= temp9 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } } if (MenuSystemVars[1] == 3) // StamUp EX [1] { temp6 = 10006; // MiscellaneousVars[] input [main perk] temp7 = 10005; // MiscellaneousVars[] input [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp1 = 11 * MiscellaneousVars[280] / 100; // Level 1 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } } } /*if (CharacterClass == 9) // Petra { if (MenuSystemVars[1] == 1) // DodgeMore EX [1] { temp6 = 10008; // MiscellaneousVars[] input temp7 = 10007; // MiscellaneousVars[] [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp1 = 11 * MiscellaneousVars[280] / 100; // Level 1 Cost if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } } }*/ } else if (MenuSystemVars[5] == 2) // Weapon Perks { if (CharacterClass == 0 | CharacterClass == 1) // Deggaris/Illucia Only { if (MenuSystemVars[1] == 1) // Berserker Fit [5] { temp6 = 10051; // MiscellaneousVars[] input temp1 = 10 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 15 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 20 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 25 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 35 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 2) // Bullet Accuracy [5] { temp6 = 10019; // MiscellaneousVars[] input temp1 = 3 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 6 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 10 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 14 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 19 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 3) // Pellet Accuracy [5] { temp6 = 10021; // MiscellaneousVars[] input temp1 = 3 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 6 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 10 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 14 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 19 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 4) // Plasma Accuracy [5] { temp6 = 10023; // MiscellaneousVars[] input temp1 = 3 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 6 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 10 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 14 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 19 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 5) // Demolitions Expert [5] { temp6 = 10025; // MiscellaneousVars[] input temp1 = 3 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 6 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 10 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 14 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 19 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 6) // Bottomless Magazines [5] { temp6 = 10047; // MiscellaneousVars[] input temp1 = 5 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 9 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 14 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 20 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 28 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (CharacterClass == 0) // Deggaris Only { if (MenuSystemVars[1] == 7) // Bullet Accuracy EX [2] { temp6 = 10020; // MiscellaneousVars[] input temp7 = 10019; // MiscellaneousVars[] [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp9 = 4; // MiscellaneousVars[] input [requirement level threshold 2] temp1 = 4 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 7 * MiscellaneousVars[280] / 100; // Level 2 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[temp7] >= temp9 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } } if (MenuSystemVars[1] == 8) // Demolitions Expert EX [1] { temp6 = 10026; // MiscellaneousVars[] input [main perk] temp7 = 10025; // MiscellaneousVars[] input [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp1 = 4 * MiscellaneousVars[280] / 100; // Level 1 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } } if (MenuSystemVars[1] == 9) // BFG Attunement [2] { temp6 = 10029; // MiscellaneousVars[] input temp1 = 24 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 43 * MiscellaneousVars[280] / 100; // Level 2 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } } } else if (CharacterClass == 1) // Illucia Only { if (MenuSystemVars[1] == 7) // Pellet Accuracy EX [2] { temp6 = 10022; // MiscellaneousVars[] input temp7 = 10021; // MiscellaneousVars[] [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp9 = 4; // MiscellaneousVars[] input [requirement level threshold 2] temp1 = 4 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 7 * MiscellaneousVars[280] / 100; // Level 2 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[temp7] >= temp9 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } } if (MenuSystemVars[1] == 8) // Plasma Accuracy EX [1] { temp6 = 10024; // MiscellaneousVars[] input [main perk] temp7 = 10023; // MiscellaneousVars[] input [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] if (temp1 < perksmincost) temp1 = perksmincost; temp1 = 4 * MiscellaneousVars[280] / 100; // Level 1 Cost if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } } if (MenuSystemVars[1] == 9) // Karasawa Attunement [2] { temp6 = 10027; // MiscellaneousVars[] input temp1 = 24 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 43 * MiscellaneousVars[280] / 100; // Level 2 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } } } } else if (CharacterClass == 2) // Flora Only { if (MenuSystemVars[1] == 1) // Archery Mastery [5] { temp6 = 10031; // MiscellaneousVars[] input temp1 = 5 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 10 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 16 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 23 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 31 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 2) // Wand/Staff Mastery [5] { temp6 = 10053; // MiscellaneousVars[] input temp1 = 5 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 10 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 16 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 23 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 31 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 3) // Soul Mastery [5] { temp6 = 10033; // MiscellaneousVars[] input temp1 = 5 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 10 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 16 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 23 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 31 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 4) // Martial Arts Mastery [5] { temp6 = 10035; // MiscellaneousVars[] input temp1 = 8 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 12 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 19 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 31 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 51 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } } } else if (MenuSystemVars[5] == 3) // Item Perks { if (MenuSystemVars[1] == 1) // Medicinal Prowess [5] { temp6 = 10049; // MiscellaneousVars[] input temp1 = 5 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 9 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 14 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 22 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 29 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 2) // Powerup Powerhouse [4] { temp6 = 10050; // MiscellaneousVars[] input temp1 = 7 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 16 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 27 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 40 * MiscellaneousVars[280] / 100; // Level 4 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } } if (MenuSystemVars[1] == 3) // Pack Mule [5] { temp6 = 10059; // MiscellaneousVars[] input temp1 = 8 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 15 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 23 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 32 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 42 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } } else if (MenuSystemVars[5] == 4) // Misc Perks { if (CharacterClass == 0 | CharacterClass == 1) // Deggaris/Illucia Only { if (MenuSystemVars[1] == 1) // Mortal Hit Survivability Blast Wave [1] { temp6 = 10041; // MiscellaneousVars[] input temp1 = 15 * MiscellaneousVars[280] / 100; // Level 1 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } } if (MenuSystemVars[1] == 2) // Mortal Hit Survivability Mana Recovery [1] { temp6 = 10039; // MiscellaneousVars[] input temp1 = 15 * MiscellaneousVars[280] / 100; // Level 1 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } } if (CharacterClass == 0) // Deggaris Only { if (MenuSystemVars[1] == 3) // Mortal Hit Survivability "Death Rage" [3] { temp6 = 10043; // MiscellaneousVars[] input temp1 = 20 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 30 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 50 * MiscellaneousVars[280] / 100; // Level 3 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } } } else if (CharacterClass == 1) // Illucia Only { if (MenuSystemVars[1] == 3) // Mortal Hit Survivability Blast Wave EX [1] { temp6 = 10042; // MiscellaneousVars[] input temp7 = 10041; // MiscellaneousVars[] [requirement type] temp8 = 1; // MiscellaneousVars[] input [requirement level threshold 1] temp1 = 35 * MiscellaneousVars[280] / 100; // Level 1 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } } } if (MenuSystemVars[1] == 4) // Mortal Hit Survivability Psyche Up [7] { temp6 = 10037; // MiscellaneousVars[] input temp1 = 9 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 12 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 16 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 20 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 28 * MiscellaneousVars[280] / 100; // Level 5 Cost temp21 = 39 * MiscellaneousVars[280] / 100; // Level 6 Cost temp22 = 57 * MiscellaneousVars[280] / 100; // Level 7 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (temp21 < perksmincost) temp21 = perksmincost; if (temp22 < perksmincost) temp22 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 5 && MiscellaneousVars[25] >= temp21) { MiscellaneousVars[temp6] = 6; MiscellaneousVars[25] -= temp21; MiscellaneousVars[42] += temp21; PerkPtsPerPerk[temp6] += temp21; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 6 && MiscellaneousVars[25] >= temp22) { MiscellaneousVars[temp6] = 7; MiscellaneousVars[25] -= temp22; MiscellaneousVars[42] += temp22; PerkPtsPerPerk[temp6] += temp22; GetPerkSound(); } } if (MenuSystemVars[1] == 5) // Cleared of Mind [5] { temp6 = 10055; // MiscellaneousVars[] input temp1 = 8 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 12 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 16 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 20 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 24 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 6) // Villain Killer [5] { temp6 = 10057; // MiscellaneousVars[] input temp1 = 20 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 25 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 30 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 35 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 40 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } } else if (CharacterClass == 2) // Flora Only { if (MenuSystemVars[1] == 1) // Mortal Hit Survivability Mana Recovery [1] { temp6 = 10039; // MiscellaneousVars[] input temp1 = 15 * MiscellaneousVars[280] / 100; // Level 1 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } } if (MenuSystemVars[1] == 2) // Mortal Hit Survivability Mana Recovery EX [1] { temp6 = 10040; // MiscellaneousVars[] input temp7 = 10039; // MiscellaneousVars[] input temp8 = 1; // MiscellaneousVars[] input [requirement level threshold 1] temp1 = 35 * MiscellaneousVars[280] / 100; // Level 1 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } } if (MenuSystemVars[1] == 3) // Mortal Hit Survivability Psyche Up [7] { temp6 = 10037; // MiscellaneousVars[] input temp1 = 12 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 15 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 19 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 23 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 31 * MiscellaneousVars[280] / 100; // Level 5 Cost temp21 = 42 * MiscellaneousVars[280] / 100; // Level 6 Cost temp22 = 60 * MiscellaneousVars[280] / 100; // Level 7 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (temp21 < perksmincost) temp21 = perksmincost; if (temp22 < perksmincost) temp22 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 5 && MiscellaneousVars[25] >= temp21) { MiscellaneousVars[temp6] = 6; MiscellaneousVars[25] -= temp21; MiscellaneousVars[42] += temp21; PerkPtsPerPerk[temp6] += temp21; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 6 && MiscellaneousVars[25] >= temp22) { MiscellaneousVars[temp6] = 7; MiscellaneousVars[25] -= temp22; MiscellaneousVars[42] += temp22; PerkPtsPerPerk[temp6] += temp22; GetPerkSound(); } } if (MenuSystemVars[1] == 4) // Cleared of Mind [5] { temp6 = 10055; // MiscellaneousVars[] input temp1 = 8 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 12 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 16 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 20 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 24 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 5) // Villain Killer [5] { temp6 = 10057; // MiscellaneousVars[] input temp1 = 20 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 25 * MiscellaneousVars[280] / 100; // Level 2 Cost temp3 = 30 * MiscellaneousVars[280] / 100; // Level 3 Cost temp4 = 35 * MiscellaneousVars[280] / 100; // Level 4 Cost temp5 = 40 * MiscellaneousVars[280] / 100; // Level 5 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (temp3 < perksmincost) temp3 = perksmincost; if (temp4 < perksmincost) temp4 = perksmincost; if (temp5 < perksmincost) temp5 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 2 && MiscellaneousVars[25] >= temp3) { MiscellaneousVars[temp6] = 3; MiscellaneousVars[25] -= temp3; MiscellaneousVars[42] += temp3; PerkPtsPerPerk[temp6] += temp3; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 3 && MiscellaneousVars[25] >= temp4) { MiscellaneousVars[temp6] = 4; MiscellaneousVars[25] -= temp4; MiscellaneousVars[42] += temp4; PerkPtsPerPerk[temp6] += temp4; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 4 && MiscellaneousVars[25] >= temp5) { MiscellaneousVars[temp6] = 5; MiscellaneousVars[25] -= temp5; MiscellaneousVars[42] += temp5; PerkPtsPerPerk[temp6] += temp5; GetPerkSound(); } } if (MenuSystemVars[1] == 6) // Villain Killer EX [2] { temp6 = 10058; // MiscellaneousVars[] input temp7 = 10057; // MiscellaneousVars[] [requirement type] temp8 = 2; // MiscellaneousVars[] input [requirement level threshold 1] temp9 = 4; // MiscellaneousVars[] input [requirement level threshold 2] temp1 = 40 * MiscellaneousVars[280] / 100; // Level 1 Cost temp2 = 70 * MiscellaneousVars[280] / 100; // Level 2 Cost if (temp1 < perksmincost) temp1 = perksmincost; if (temp2 < perksmincost) temp2 = perksmincost; if (MiscellaneousVars[temp6] == 0 && MiscellaneousVars[temp7] >= temp8 && MiscellaneousVars[25] >= temp1) { MiscellaneousVars[temp6] = 1; MiscellaneousVars[25] -= temp1; MiscellaneousVars[42] += temp1; PerkPtsPerPerk[temp6] += temp1; GetPerkSound(); } else if (MiscellaneousVars[temp6] == 1 && MiscellaneousVars[temp7] >= temp9 && MiscellaneousVars[25] >= temp2) { MiscellaneousVars[temp6] = 2; MiscellaneousVars[25] -= temp2; MiscellaneousVars[42] += temp2; PerkPtsPerPerk[temp6] += temp2; GetPerkSound(); } } } } else if (MenuSystemVars[5] == 5) // Mastery Perks { // Nothing for now } } else if (MenuSystemVars[4] == 4) // Codex Menu { MenuSystemVars[1] = 4; // Set Main selection MenuSystemVars[2] = 0; // Set Secondary selection to 0 MenuSystemVars[3] = 0; // Set Tritary selection to 0 MenuSystemVars[4] = 0; // Set Menu Page to main MenuSystemVars[5] = 0; // Reset Submenu } } } // Up press button if (buttons & BT_FORWARD | buttons & BT_MOVEUP | buttons & BT_LOOKUP) { if (MenuSystemVars[10002] <= 0) { MenuSystemVars[10002] = ticresetinterval; MenuSystemVars[1] -= 1; if (MenuSystemVars[4] == 0) // Main Menu { if (MiscellaneousVars[110001] == 0 && MenuSystemVars[1] == 3) MenuSystemVars[1] -= 1; if (MenuSystemVars[1] < 1) MenuSystemVars[1] = 4; } if (MenuSystemVars[4] == 1) // Stats Menu { } if (MenuSystemVars[4] == 2) // Spells Menu { } if (MenuSystemVars[4] == 3) // Perks Menu { MenuSystemVars[10002] = ticresetinterval3; if (MenuSystemVars[5] == 0) // General Stat Perks { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 10; } if (MenuSystemVars[5] == 1) // Character-Specific Stat Perks { if (CharacterClass == 0) // Deggaris Only { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 3; } else if (CharacterClass == 1) // Illucia Only { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 3; } else if (CharacterClass == 2) // Flora { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 3; } } if (MenuSystemVars[5] == 2) // Weapon Perks { if (CharacterClass == 0) // Deggaris Only { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 9; } else if (CharacterClass == 1) // Illucia Only { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 9; } else if (CharacterClass == 2) // Flora { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 4; } } if (MenuSystemVars[5] == 3) // Item Perks { if (CharacterClass == 0) // Deggaris Only { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 3; } else if (CharacterClass == 1) // Illucia Only { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 3; } else if (CharacterClass == 2) // Flora { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 3; } } if (MenuSystemVars[5] == 4) // Misc Perks { if (CharacterClass == 0) // Deggaris Only { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 6; } else if (CharacterClass == 1) // Illucia Only { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 6; } else if (CharacterClass == 2) // Flora { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 6; } } if (MenuSystemVars[5] == 5) // Mastery Perks { MenuSystemVars[1] = 0; } } if (MenuSystemVars[4] == 4) // Codex Menu { MenuSystemVars[10002] = ticresetinterval3; if (MenuSystemVars[5] == 0) // General Stat Perks { if (MenuSystemVars[1] < 0) MenuSystemVars[1] = 6; } } } } // Down press button if (buttons & BT_BACK | buttons & BT_MOVEDOWN | buttons & BT_LOOKDOWN) { if (MenuSystemVars[10003] <= 0) { MenuSystemVars[10003] = ticresetinterval; MenuSystemVars[1] += 1; if (MenuSystemVars[4] == 0) // Main Menu { if (MiscellaneousVars[110001] == 0 && MenuSystemVars[1] == 3) MenuSystemVars[1] += 1; if (MenuSystemVars[1] > 4) MenuSystemVars[1] = 1; } if (MenuSystemVars[4] == 1) // Stats Menu { } if (MenuSystemVars[4] == 2) // Spells Menu { } if (MenuSystemVars[4] == 3) // Perks Menu { MenuSystemVars[10003] = ticresetinterval3; if (MenuSystemVars[5] == 0) // General Stat Perks { if (MenuSystemVars[1] > 10) MenuSystemVars[1] = 0; } if (MenuSystemVars[5] == 1) // Character-Specific Stat Perks { if (CharacterClass == 0) // Deggaris Only { if (MenuSystemVars[1] > 3) MenuSystemVars[1] = 0; } else if (CharacterClass == 1) // Illucia Only { if (MenuSystemVars[1] > 3) MenuSystemVars[1] = 0; } else if (CharacterClass == 2) // Flora { if (MenuSystemVars[1] > 3) MenuSystemVars[1] = 0; } } if (MenuSystemVars[5] == 2) // Weapon Perks { if (CharacterClass == 0) // Deggaris Only { if (MenuSystemVars[1] > 9) MenuSystemVars[1] = 0; } else if (CharacterClass == 1) // Illucia Only { if (MenuSystemVars[1] > 9) MenuSystemVars[1] = 0; } else if (CharacterClass == 2) // Flora { if (MenuSystemVars[1] > 4) MenuSystemVars[1] = 0; } } if (MenuSystemVars[5] == 3) // Item Perks { if (CharacterClass == 0) // Deggaris Only { if (MenuSystemVars[1] > 3) MenuSystemVars[1] = 0; } else if (CharacterClass == 1) // Illucia Only { if (MenuSystemVars[1] > 3) MenuSystemVars[1] = 0; } else if (CharacterClass == 2) // Flora { if (MenuSystemVars[1] > 3) MenuSystemVars[1] = 0; } } if (MenuSystemVars[5] == 4) // Misc Perks { if (CharacterClass == 0) // Deggaris Only { if (MenuSystemVars[1] > 6) MenuSystemVars[1] = 0; } else if (CharacterClass == 1) // Illucia Only { if (MenuSystemVars[1] > 6) MenuSystemVars[1] = 0; } else if (CharacterClass == 2) // Flora { if (MenuSystemVars[1] > 6) MenuSystemVars[1] = 0; } } if (MenuSystemVars[5] == 5) // Mastery Perks { MenuSystemVars[1] = 0; } } if (MenuSystemVars[4] == 4) // Codex Menu { MenuSystemVars[10003] = ticresetinterval3; if (MenuSystemVars[5] == 0) // General Stat Perks { if (MenuSystemVars[1] > 6) MenuSystemVars[1] = 0; } } } } // Left press button if (buttons & BT_LEFT | buttons & BT_MOVELEFT) { if (MenuSystemVars[10004] <= 0) { MenuSystemVars[10004] = ticresetinterval; MenuSystemVars[1] = 0; MenuSystemVars[2] = 0; MenuSystemVars[3] = 0; if (MenuSystemVars[4] == 1) // Stats Menu { MenuSystemVars[10004] = ticresetinterval3; MenuSystemVars[5] -= 1; if (MenuSystemVars[5] < 0) MenuSystemVars[5] = 1; } if (MenuSystemVars[4] == 2) // Spells Menu { MenuSystemVars[10004] = ticresetinterval3; MenuSystemVars[5] -= 1; if (MenuSystemVars[5] < 0) MenuSystemVars[5] = 6; } if (MenuSystemVars[4] == 3) // Perks Menu { MenuSystemVars[10004] = ticresetinterval3; MenuSystemVars[5] -= 1; if (MenuSystemVars[5] < 0) MenuSystemVars[5] = 5; } } } // Right press button if (buttons & BT_RIGHT | buttons & BT_MOVERIGHT) { if (MenuSystemVars[10005] <= 0) { MenuSystemVars[10005] = ticresetinterval; MenuSystemVars[1] = 0; MenuSystemVars[2] = 0; MenuSystemVars[3] = 0; if (MenuSystemVars[4] == 1) // Stats Menu { MenuSystemVars[10005] = ticresetinterval3; MenuSystemVars[5] += 1; if (MenuSystemVars[5] > 1) MenuSystemVars[5] = 0; } if (MenuSystemVars[4] == 2) // Spells Menu { MenuSystemVars[10005] = ticresetinterval3; MenuSystemVars[5] += 1; if (MenuSystemVars[5] > 6) MenuSystemVars[5] = 0; } if (MenuSystemVars[4] == 3) // Perks Menu { MenuSystemVars[10005] = ticresetinterval3; MenuSystemVars[5] += 1; if (MenuSystemVars[5] > 5) MenuSystemVars[5] = 0; } } } // Back press button if (buttons & BT_TURN180) { if (MenuSystemVars[10006] <= 0) { MenuSystemVars[10006] = ticresetinterval; } } if (MenuSystemVars[10001] > 0) MenuSystemVars[10001] -= 1; // Use Timer Countdown if (MenuSystemVars[10002] > 0) MenuSystemVars[10002] -= 1; // Up Timer Countdown if (MenuSystemVars[10003] > 0) MenuSystemVars[10003] -= 1; // Down Timer Countdown if (MenuSystemVars[10004] > 0) MenuSystemVars[10004] -= 1; // Left Timer Countdown if (MenuSystemVars[10005] > 0) MenuSystemVars[10005] -= 1; // Right Timer Countdown if (MenuSystemVars[10006] > 0) MenuSystemVars[10006] -= 1; // Back Timer Countdown } Delay(1); Restart; } // [10001] "LifeUp" Perk Level // [10002] "LifeUp EX" Perk Level // [10003] "MagiUp" Perk Level // [10004] "MagiUp EX" Perk Level // [10005] "StamUp" Perk Level // [10006] "StamUp EX" Perk Level // [10007] "DodgeMore" Perk Level // [10008] "DodgeMore EX" Perk Level // [10009] "JumpMore" Perk Level // [10010] "JumpMore EX" Perk Level // [10011] "PsycheFast" Perk Level // [10012] "PsycheFast EX" Perk Level // [10013] "RegenHPFast" Perk Level // [10014] "RegenHPFast EX" Perk Level // [10015] "RegenMPFast" Perk Level // [10016] "RegenMPFast EX" Perk Level // [10017] "RegenStamFast" Perk Level // [10018] "RegenStamFast EX" Perk Level // [10019] "Bullet Accuracy" Perk Level // [10020] "Bullet Accuracy EX" Perk Level // [10021] "Pellet Accuracy" Perk Level // [10022] "Pellet Accuracy EX" Perk Level // [10023] "Plasma Accuracy" Perk Level // [10024] "Plasma Accuracy EX" Perk Level // [10025] "Demolitions Expert" Perk Level // [10026] "Demolitions Expert EX" Perk Level // [10027] "Karasawa Attunement" Perk Level // [10028] "Karasawa Attunement EX" Perk Level // [10029] "BFG Attunement" Perk Level // [10030] "BFG Attunement EX" Perk Level // [10031] "Archery Mastery" Perk Level // [10032] "Archery Mastery EX" Perk Level // [10033] "Soul Mastery" Perk Level // [10034] "Soul Mastery EX" Perk Level // [10035] "Martial Arts Mastery" Perk Level // [10036] "Martial Arts Mastery EX" Perk Level // [10037] "Mortal Hit Survivability Psyche Up" Perk Level // [10038] "Mortal Hit Survivability Psyche Up EX" Perk Level // [10039] "Mortal Hit Survivability Mana Recovery" Perk Level // [10040] "Mortal Hit Survivability Mana Recovery EX" Perk Level // [10041] "Mortal Hit Survivability Blast Wave" Perk Level // [10042] "Mortal Hit Survivability Blast Wave EX" Perk Level // [10043] "Mortal Hit Survivability 'Death Rage'" Perk Level // [10044] "Mortal Hit Survivability 'Death Rage' EX" Perk Level // [10045] "On The Move" Perk Level // [10046] "On The Move EX" Perk Level // [10047] "Bottomless Magazines" Perk Level // [10048] "Bottomless Magazines EX" Perk Level // [10049] "Medical/Medicinal Prowess" Perk Level // [10050] "Powerup Powerhouse" Perk Level // [10051] "Berserker Fit" Perk Level // [10052] "Berserker Fit EX" Perk Level // [10053] "Wand/Staff Mastery" Perk Level // [10054] "Wand/Staff Mastery EX" Perk Level // [10055] "Cleared of Mind" Perk Level // [10056] "Cleared of Mind EX" Perk Level // [10057] "Villain Killer" Perk Level // [10058] "Villain Killer EX" Perk Level // [11001] "Higher Learning" Grand Mastery Perk Level // [11002] ? Grand Mastery Perk Level // Visual Stuff script "INGAMEMENUS_DISPLAYS" ENTER { int temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, temp9, temp10, temp11, temp12, temp13, temp14, temp15, temp16, temp17, temp18, temp19, temp20; int temp21, temp22, temp23, temp24, temp25, temp26, temp27, temp28, temp29, temp30, temp31, temp32, temp33, temp34, temp35, temp36, temp37, temp38, temp39, temp40; int xtemp1, xtemp2, xtemp3, xtemp4, xtemp5, xtemp6, xtemp7, xtemp8, xtemp9, xtemp10, xtemp11, xtemp12, xtemp13, xtemp14, xtemp15, xtemp16, xtemp17, xtemp18, xtemp19, xtemp20; int xtemp21, xtemp22, xtemp23, xtemp24, xtemp25, xtemp26, xtemp27, xtemp28, xtemp29, xtemp30, xtemp31, xtemp32, xtemp33, xtemp34, xtemp35, xtemp36, xtemp37, xtemp38, xtemp39, xtemp40; int ytemp1, ytemp2, ytemp3, ytemp4, ytemp5, ytemp6, ytemp7, ytemp8, ytemp9, ytemp10, ytemp11, ytemp12, ytemp13, ytemp14, ytemp15, ytemp16, ytemp17, ytemp18, ytemp19, ytemp20; int ytemp21, ytemp22, ytemp23, ytemp24, ytemp25, ytemp26, ytemp27, ytemp28, ytemp29, ytemp30, ytemp31, ytemp32, ytemp33, ytemp34, ytemp35, ytemp36, ytemp37, ytemp38, ytemp39, ytemp40; int HealMin, HealMax, SpellCost, SpellCharges, SpellNo, LevelRequirement; int MaxHealthLimit = MaxHealthTrue * 2; int PageNo = MenuSystemVars[5] + 1; str perkname; str perkdescript1, perkdescript2, perkdescript3, perkdescript4, perkdescript5; str textcolor = ""; int perksmincost = GetCVar("dvdsperks_minimumcost"); int hudmsgid; int WholeValue, ModuloValue; int HUDGFXLevel = GetCVar("dvds_gfxeffectlevel"); int HUDMsgDelayBase = GetCVar("dvdshud_refreshdelay"); if (HUDMsgDelayBase < 1) HUDMsgDelayBase = 1; if (HUDMsgDelayBase > 420) HUDMsgDelayBase = 420; if (HUDGFXLevel == 0) HUDMsgDelayBase *= 1; else if (HUDGFXLevel == 1) HUDMsgDelayBase *= 3; else if (HUDGFXLevel == 2) HUDMsgDelayBase *= 9; int HUDMsgDelayFixed = HUDMsgDelayBase * 1.0; HUDMsgDelayFixed /= 35; HUDMsgDelayFixed += 0.008; int ExHUDMsgDelayFixed = 1 * 1.0; ExHUDMsgDelayFixed = GetCVar("dvdshud_display_extratics"); if (ExHUDMsgDelayFixed < 0) ExHUDMsgDelayFixed = 0; ExHUDMsgDelayFixed *= 0.02858; //714285714286; HUDMsgDelayFixed += ExHUDMsgDelayFixed; int baseholdtime = HUDMsgDelayFixed; int HudXRange, HudYRange; // MENU SYSTEM [HudMessage] // 1000-1399 - General Reserved for Menu System // 1400-1599 - SubSub Menu Level Range // 1600-1799 - Sub Menu Level Range // 1800-1998 - Main Menu Level Range // 1999 - Background 1 if (MenuSystemVars[0] != 0) // Menu is On. { SetHudSize(512,384,0); SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 1999, 0, 256.0, 192.0, baseholdtime, 0.8333); SetFont("DVDSSMLFONT"); SetHudSize(0,0,0); HudXRange = 800; HudYRange = 600; SetHudSize(HudXRange,HudYRange,0); SetFont("DVDSBIGFONT"); // DQHUDFONTSML // Default Font setting for all menus //***************** //***************** //*** Main Menu *** //***************** //***************** if (MenuSystemVars[4] == 0) { hudmsgid = 1998; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 35000 / 100000) * 1.0; // 0.35; if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:"STATS [UNFINISHED]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 += (HudYRange * 10000 / 100000) * 1.0; // 0.45; if (MenuSystemVars[1] == 2) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:"SPELLS"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp1, ytemp1, baseholdtime, 1.0); if (MiscellaneousVars[110001] == 1) { hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 += (HudYRange * 10000 / 100000) * 1.0; // 0.45; if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:"PERKS"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp1, ytemp1, baseholdtime, 1.0); } hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 += (HudYRange * 10000 / 100000) * 1.0; // 0.55/0.65; if (MenuSystemVars[1] == 4) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:"CODEX [UNFINISHED]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp1, ytemp1, baseholdtime, 1.0); } //****************** //****************** //*** Stats Menu *** //****************** //****************** if (MenuSystemVars[4] == 1) { hudmsgid = 1998; HudXRange = 720; HudYRange = 540; SetHudSize(HudXRange,HudYRange,0); xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 3125 / 100000) * 1.0; // 0.03125; HudMessage(s:"STATS - PAGE ",d:(MenuSystemVars[5]+1); HUDMSG_ALPHA, hudmsgid, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS SetFont("DVDSBIGFONT"); // DQHUDFONTSML hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.03125; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; // 0.1; if (CharacterClass == 0) HudMessage(s:"\c[DarkGreen]DEGGARIS MONTEGGER"; HUDMSG_ALPHA, hudmsgid, CR_UNTRANSLATED, xtemp1, ytemp1, baseholdtime, 1.0); if (CharacterClass == 1) HudMessage(s:"\c[Green]ILLUCIA HENDERSHOT"; HUDMSG_ALPHA, hudmsgid, CR_UNTRANSLATED, xtemp1, ytemp1, baseholdtime, 1.0); if (CharacterClass == 2) HudMessage(s:"\c[FloraBlue]FLORA BRISCOLETTI"; HUDMSG_ALPHA, hudmsgid, CR_UNTRANSLATED, xtemp1, ytemp1, baseholdtime, 1.0); if (CharacterClass == 8) HudMessage(s:"\c[LightBlue]PRINCESS AILISH"; HUDMSG_ALPHA, hudmsgid, CR_UNTRANSLATED, xtemp1, ytemp1, baseholdtime, 1.0); if (CharacterClass == 9) HudMessage(s:"\c[PetraOrange]PETRA JOHANNA LAGERKVIST"; HUDMSG_ALPHA, hudmsgid, CR_UNTRANSLATED, xtemp1, ytemp1, baseholdtime, 1.0); // Stats - Page 0 if (MenuSystemVars[5] == 0) { hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; HudMessage(s:"LEVEL: ",d:PlayerLevel,s:" / ",d:LevelCap; HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; int EXPRemaining = ExpTable[PlayerLevel] - Experience; if (EXPRemaining < 0) EXPRemaining = 0; HudMessage(s:"EXP: ",d:Experience,s:" / ",d:ExpTable[PlayerLevel],s:" [",d:EXPRemaining,s:" LEFT]"; HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); // hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 3750 / 100000) * 1.0; int CurrentHealth = MiscellaneousVars[25001]; HudMessage(s:"HP: ",d:CurrentHealth,s:" / ",d:MaxHealthTrue; HUDMSG_ALPHA, hudmsgid, CR_BRICK, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; if (MiscellaneousVars[317] > 0) { xtemp1 = (HudXRange * 46875 / 100000) * 1.0 + 0.1; // 0.03125; HudMessage(s:"Stamina Boosts: ",d:MiscellaneousVars[317],s:" / 10"; HUDMSG_ALPHA, hudmsgid, CR_RED, xtemp1, ytemp1, baseholdtime, 1.0); } hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; HudMessage(s:"MP: ",d:CurrentMana,s:" / ",d:MaxMana; HUDMSG_ALPHA, hudmsgid, CR_LIGHTBLUE, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; if (MiscellaneousVars[318] > 0) { xtemp1 = (HudXRange * 46875 / 100000) * 1.0 + 0.1; // 0.03125; HudMessage(s:"Accuracy Boosts: ",d:MiscellaneousVars[318],s:" / 10"; HUDMSG_ALPHA, hudmsgid, CR_GREEN, xtemp1, ytemp1, baseholdtime, 1.0); } hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; int CurrentArmor = CheckInventory("Armor"); str ArmorType; if (CharacterClass == 0 || CharacterClass == 1) { if (CurrentArmorClass == 0) ArmorType = ""; if (CurrentArmorClass == 1) ArmorType = " [Green]"; if (CurrentArmorClass == 2) ArmorType = " [Blue]"; if (CurrentArmorClass == 3) ArmorType = " [Stone]"; if (CurrentArmorClass == 4) ArmorType = " [Diamond]"; if (CurrentArmorClass == 5) ArmorType = " [Divine Stone]"; if (CurrentArmorClass == 6) ArmorType = " [Divine Diamond]"; WholeValue = MiscellaneousVars[233] / 10; ModuloValue = (MiscellaneousVars[233] % 10) / 10; HudMessage(s:"Armor: ",d:CurrentArmor,s:" / ",d:CurrentMaxArmor,s:ArmorType,s:" [Absorb: ",d:WholeValue,s:".",d:ModuloValue,s:"%]"; HUDMSG_ALPHA, hudmsgid, CR_GREEN, xtemp1, ytemp1, baseholdtime, 1.0); } else if (CharacterClass == 2) { WholeValue = (HellcoreOverheatLevel / 100) / 100; ModuloValue = (HellcoreOverheatLevel / 100) % 100; if (ModuloValue < 10) HudMessage(s:"Hellcore Heat: ",d:WholeValue,s:".0",d:ModuloValue,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_BRICK, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"Hellcore Heat: ",d:WholeValue,s:".",d:ModuloValue,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_RED, xtemp1, ytemp1, baseholdtime, 1.0); } else if (CharacterClass == 8) { } else if (CharacterClass == 9) { } hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; WholeValue = MiscellaneousVars[8] / 100; ModuloValue = MiscellaneousVars[8] % 100; if (ModuloValue < 10) HudMessage(s:"Stamina: ",d:WholeValue,s:".0",d:ModuloValue,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_YELLOW, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"Stamina: ",d:WholeValue,s:".",d:ModuloValue,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_YELLOW, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; WholeValue = MiscellaneousVars[23] / 100; ModuloValue = (MiscellaneousVars[23] % 100) / 10; HudMessage(s:"Evasion Rate: ",d:WholeValue,s:".",d:ModuloValue,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_LIGHTBLUE, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; WholeValue = MiscellaneousVars[232] / 10; ModuloValue = MiscellaneousVars[232] % 10; HudMessage(s:"Survival Rate: ",d:WholeValue,s:".",d:ModuloValue,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; WholeValue = MiscellaneousVars[235] / 10; ModuloValue = MiscellaneousVars[235] % 10; HudMessage(s:"\c[Fire]Critical Hit Rate: ",d:WholeValue,s:".",d:ModuloValue,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_FIRE, xtemp1, ytemp1, baseholdtime, 1.0); int statbonus = 0.006667; int statbonus2 = 0; //*************** //* Stat Values * //*************** hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 3750 / 100000) * 1.0; HudMessage(s:"Aeon Points: ",d:MiscellaneousVars[25],s:" [# Put In \c[FloraBlue]Perks\c[Gold] / \c[PetraOrange]Stats\c[Gold]: \c[FloraBlue]",d:MiscellaneousVars[42],s:"\c[Gold] / \c[PetraOrange]",d:MiscellaneousVars[43],s:"\c[Gold]]"; HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 3750 / 100000) * 1.0; HudMessage(s:"Strength: ",d:MiscellaneousVars[35]; HUDMSG_ALPHA, hudmsgid, CR_RED, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; if (CharacterClass == 0) statbonus = 0.003334; if (CharacterClass == 1) statbonus = 0.0025; if (CharacterClass == 2) statbonus = 0.001667; if (CharacterClass == 8) statbonus = 0.0015; if (CharacterClass == 9) statbonus = 0.003625; statbonus *= MiscellaneousVars[35]; if (statbonus > 10.00) statbonus = 10.00; statbonus *= 100; xtemp1 = (HudXRange * 50000 / 100000) * 1.0 + 0.1; ytemp1 += (HudYRange * 0 / 100000) * 1.0; HudMessage(s:"Phys. Damage+: ",f:statbonus,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_RED, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; HudMessage(s:"Defense: ",d:MiscellaneousVars[32]; HUDMSG_ALPHA, hudmsgid, CR_OLIVE, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; if (CharacterClass == 0) statbonus = 0.003334; if (CharacterClass == 1) statbonus = 0.0025; if (CharacterClass == 2) statbonus = 0.001667; if (CharacterClass == 8) statbonus = 0.0015; if (CharacterClass == 9) statbonus = 0.003625; statbonus *= MiscellaneousVars[32]; statbonus = 1.00 - statbonus; if (statbonus < 0.05) statbonus = 0.05; statbonus *= 100; xtemp1 = (HudXRange * 50000 / 100000) * 1.0 + 0.1; ytemp1 += (HudYRange * 0 / 100000) * 1.0; HudMessage(s:"P-Damage Taken: ",f:statbonus,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_OLIVE, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; HudMessage(s:"Sorcery: ",d:MiscellaneousVars[34]; HUDMSG_ALPHA, hudmsgid, CR_DARKGRAY, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; if (CharacterClass == 0) statbonus = 0.001667; if (CharacterClass == 1) statbonus = 0.0025; if (CharacterClass == 2) statbonus = 0.003334; if (CharacterClass == 8) statbonus = 0.003625; if (CharacterClass == 9) statbonus = 0.0015; statbonus *= MiscellaneousVars[34]; if (statbonus > 10.00) statbonus = 10.00; statbonus *= 100; xtemp1 = (HudXRange * 50000 / 100000) * 1.0 + 0.1; ytemp1 += (HudYRange * 0 / 100000) * 1.0; HudMessage(s:"Magic Damage+: ",f:statbonus,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_DARKGRAY, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; HudMessage(s:"Therapeusis: ",d:MiscellaneousVars[36]; HUDMSG_ALPHA, hudmsgid, CR_GREY, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; if (CharacterClass == 0) statbonus = 0.001667; if (CharacterClass == 1) statbonus = 0.0025; if (CharacterClass == 2) statbonus = 0.003334; if (CharacterClass == 8) statbonus = 0.003625; if (CharacterClass == 9) statbonus = 0.0015; statbonus *= MiscellaneousVars[36]; statbonus = 1.00 - statbonus; if (statbonus < 0.05) statbonus = 0.05; statbonus *= 100; xtemp1 = (HudXRange * 50000 / 100000) * 1.0 + 0.1; ytemp1 += (HudYRange * 0 / 100000) * 1.0; HudMessage(s:"M-Damage Taken: ",f:statbonus,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_GREY, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; HudMessage(s:"Agility: ",d:MiscellaneousVars[31]; HUDMSG_ALPHA, hudmsgid, CR_LIGHTBLUE, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; if (CharacterClass == 0) statbonus = 0.00111114; if (CharacterClass == 1) statbonus = 0.00166667; if (CharacterClass == 2) statbonus = 0.00222223; if (CharacterClass == 8) statbonus = 0.00194448; if (CharacterClass == 9) statbonus = 0.00138891; statbonus *= MiscellaneousVars[31]; statbonus *= 100; xtemp1 = (HudXRange * 50000 / 100000) * 1.0 + 0.1; ytemp1 += (HudYRange * 0 / 100000) * 1.0; HudMessage(s:"Speed+: ",f:statbonus,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_LIGHTBLUE, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 3125 / 100000) * 1.0 + 0.1; // 0.03125; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; HudMessage(s:"Deftness: ",d:MiscellaneousVars[33]; HUDMSG_ALPHA, hudmsgid, CR_GREEN, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; statbonus = GetCVar("dvds_deftnessexpbase") + MiscellaneousVars[33]; statbonus *= 100; statbonus /= GetCVar("dvds_deftnessexpbase"); statbonus -= 100; xtemp1 = (HudXRange * 50000 / 100000) * 1.0 + 0.1; ytemp1 += (HudYRange * 0 / 100000) * 1.0; HudMessage(s:"EXP Bonus+: ",d:statbonus,s:"%"; HUDMSG_ALPHA, hudmsgid, CR_GREEN, xtemp1, ytemp1, baseholdtime, 1.0); //*************** //* Buff Timers * //*************** hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.03125; ytemp1 += (HudYRange * 7500 / 100000) * 1.0; HudMessage(s:"Status Timers"; HUDMSG_ALPHA, hudmsgid, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); int NoOfTimersShown = 0; int TimerOffset = 3750; // out of 100000 int IconOffset = 5625; // out of 100000 xtemp1 = (HudXRange * 2500 / 100000) * 1.0; // 0.03125; ytemp1 += (HudYRange * 7500 / 100000) * 1.0; int temptimer; // Divine Avatar temptimer = PowerupTimer[7] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[7] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFDVAV"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Oomph temptimer = PowerupTimer[10] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[10] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFOMPH"); // Oomph HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Blunt temptimer = PowerupTimer[13] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[13] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STDBBLNT"); // Blunt HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Buff temptimer = PowerupTimer[11] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[11] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFBUFF"); // Buff HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Sap temptimer = PowerupTimer[14] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[14] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STDBSAP"); // Sap HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Accelerate temptimer = PowerupTimer[12] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[12] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFACEL"); // Accelerate HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Decelerate temptimer = PowerupTimer[15] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[15] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STDBDECL"); // Decelerate HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Poison temptimer = PowerupTimer[16] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[16] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STDBPOIS"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Corrosion temptimer = PowerupTimer[17] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[17] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STDBCORR"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Fatigue temptimer = PowerupTimer[18] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[18] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STDBFATI"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Blind temptimer = PowerupTimer[19] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[19] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STDBBLND"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); SetFont("DVDSBIGFONT"); // DQHUDFONTSML hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Sleep temptimer = PowerupTimer[20] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[20] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STDBSLEP"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Mute temptimer = PowerupTimer[21] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[21] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STDBMUTE"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } xtemp1 = (HudXRange * 2500 / 100000) * 1.0; // 0.03125; ytemp1 += (HudYRange * 8750 / 100000) * 1.0; // Flight temptimer = PowerupTimer[2] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[2] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFFLYI"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); SetFont("DVDSBIGFONT"); // DQHUDFONTSML hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Partial Invisiblity temptimer = PowerupTimer[1] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[1] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFPTIN"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Stealth temptimer = PowerupTimer[3] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[3] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFSTEL"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Light / NightVision temptimer = PowerupTimer[0] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[0] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFNGVI"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // BioShield / RadSuit temptimer = PowerupTimer[22] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[22] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFIRFT"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); SetFont("DVDSBIGFONT"); // DQHUDFONTSML hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Invulnerability temptimer = PowerupTimer[4] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[4] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFINVU"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Berserk temptimer = PowerupTimer[23] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[23] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFBERS"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Spreader Aura temptimer = PowerupTimer[8] / 35; if (PowerupTimer[9] > 0) temptimer = PowerupTimer[9] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[8] > 0 || PowerupTimer[9] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFSPR1"); // Spread Aura Lv. 1 if (PowerupTimer[9] > 0) SetFont("STBFSPR2"); // Spread Aura Lv. 2 HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Fear Aura temptimer = PowerupTimer[6] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[6] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFFRAR"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } // Time Freezer temptimer = PowerupTimer[5] / 35; if (temptimer > 999) temptimer = 999; if (PowerupTimer[5] > 0) { hudmsgid -= 1; xtemp1 += (HudXRange * IconOffset / 100000) * 1.0; // 0.03125; SetFont("STBFTMFR"); HudMessage(s:"A";HUDMSG_ALPHA, hudmsgid, cr_untranslated, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; ytemp1 += (HudYRange * TimerOffset / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:temptimer;HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); ytemp1 -= (HudYRange * TimerOffset / 100000) * 1.0; } SetFont("DVDSBIGFONT"); // DQHUDFONTSML } // Stats - Page 1 if (MenuSystemVars[5] == 1) { str inventorycolor = "CR_GRAY"; str ammocolor = "CR_DARKGRAY"; int tempitemamount = 0; int tempitemamount2 = 0; int tempoffset1 = 3750; hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.03125; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; HudMessage(s:"INVENTORY"; HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); //********* //* Row 1 * //********* xtemp1 = (HudXRange * 2500 / 100000) * 1.0; // 0.03125; // Medicial Herbs tempitemamount = CheckInventory("MedicinalHerb"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_MDHR"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7001];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Strong Medicene hudmsgid -= 1; tempitemamount = CheckInventory("StrongMedicine"); ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_STMD"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7002];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Special Medicene hudmsgid -= 1; tempitemamount = CheckInventory("SpecialMedicine"); ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_SPMD"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7003];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Magic Water hudmsgid -= 1; tempitemamount = CheckInventory("MagicWater"); ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_MGWT"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7004];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Sage Elixir hudmsgid -= 1; tempitemamount = CheckInventory("SageElixir"); ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_SGEL"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7005];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Elfin Elixir hudmsgid -= 1; tempitemamount = CheckInventory("ElfinElixir"); ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_EFEL"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7006];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Yggdrasil Dew hudmsgid -= 1; tempitemamount = CheckInventory("YggdrasilDew"); ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INVYGDWA"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7007];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; //********* //* Row 2 * //********* xtemp1 = (HudXRange * 27500 / 100000) * 1.0; // 0.03125; ytemp1 -= (HudYRange * 35000 / 100000) * 1.0; // Miracle Potions tempitemamount = CheckInventory("MiraclePotion"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_MRPT"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7008];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Rockbomb Shards tempitemamount = CheckInventory("RockBombShard"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_RBSD"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7009];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Paxa Punchs tempitemamount = CheckInventory("PaxaPunch"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_PAXA"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7010];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Mercury Bandanas tempitemamount = CheckInventory("MercuryBandana"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_MRBN"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7011];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Monster Munchies tempitemamount = CheckInventory("MonsterMunchies"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_MNMU"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7012];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Lesser Vimstone tempitemamount = CheckInventory("LesserVimstone"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_LSVM"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7013];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Greater Vimstone tempitemamount = CheckInventory("GreaterVimstone"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_GTVM"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7014];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; //********* //* Row 3 * //********* xtemp1 = (HudXRange * 52500 / 100000) * 1.0; // 0.03125; ytemp1 -= (HudYRange * 35000 / 100000) * 1.0; if (ClassicDoomType == 2) // Heretic Mode { // Quartz Flask tempitemamount = CheckInventory("ArtiHealthNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_QUFL"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7101];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Mystic Urn tempitemamount = CheckInventory("ArtiSuperHealthNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_URN"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7102];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Chaos Device tempitemamount = CheckInventory("ArtiTeleportNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_CSDV"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7103];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Morph Ovum tempitemamount = CheckInventory("ArtiEggNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_EGG"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7104];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Shadow Sphere tempitemamount = CheckInventory("ArtiInvisibilityNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_INVI"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7105];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Ring of Invulnerability tempitemamount = CheckInventory("ArtiInvulnerabilityNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_INVU"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7106];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Re Align to the bottom ytemp1 += (HudYRange * 5000 / 100000) * 1.0; } else if (ClassicDoomType == 3) // Hexen Mode { // Quartz Flask tempitemamount = CheckInventory("ArtiHealthNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_QUFL"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7201];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Mystic Ambit Incant tempitemamount = CheckInventory("ArtiHealingRadiusNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_AMBT"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7202];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Mystic Urn tempitemamount = CheckInventory("ArtiSuperHealthNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_URN"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7203];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Krater Of Might tempitemamount = CheckInventory("ArtiBoostManaNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_KRAT"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7204];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Chaos Device tempitemamount = CheckInventory("ArtiTeleportNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_CSDV"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7205];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Banishment Device tempitemamount = CheckInventory("ArtiTeleportOtherNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_BANS"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7206];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Dark Servant tempitemamount = CheckInventory("ArtiDarkServantNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_SERV"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7207];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; //********************** //* Row 4 (Hexen Only) * //********************** xtemp1 = (HudXRange * 75500 / 100000) * 1.0; // 0.03125; ytemp1 -= (HudYRange * 35000 / 100000) * 1.0; // Porkulator tempitemamount = CheckInventory("ArtiPorkNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_PORK"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7208];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Icon of the Defender tempitemamount = CheckInventory("ArtiInvulnerability2New"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_ICON"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7209];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Re Align to the bottom ytemp1 += (HudYRange * 25000 / 100000) * 1.0; } else if (ClassicDoomType == 4) // Strife Mode { // Medicial Patch tempitemamount = CheckInventory("MedPatchNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_MEDP"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7301];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Medicial Kit tempitemamount = CheckInventory("MedicalKitNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_MDKT"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7302];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Surgery Kit tempitemamount = CheckInventory("SurgeryKitNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_SRGY"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7303];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Scanner tempitemamount = CheckInventory("ScannerNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_PMUP"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7304];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Targeter tempitemamount = CheckInventory("TargeterNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_TARG"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7305];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Environmental Suit tempitemamount = CheckInventory("EnvironmentalSuitNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_MASK"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7306];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Shadow Armor tempitemamount = CheckInventory("ShadowArmorNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_SHAD"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7307];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; //*********************** //* Row 4 (Strife Only) * //*********************** xtemp1 = (HudXRange * 75500 / 100000) * 1.0; // 0.03125; ytemp1 -= (HudYRange * 35000 / 100000) * 1.0; // Teleporter Beacon tempitemamount = CheckInventory("TeleporterBeaconNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_BEAC"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7308];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Degnin Ore tempitemamount = CheckInventory("DegninOreNew"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_DEGN"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML if (GetCVar("dvds_imposeinventorylimits") > 0) HudMessage(s:"",d:tempitemamount,s:" / ",d:MiscellaneousVars[7309];HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); else HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Coin/Money tempitemamount = CheckInventory("Coin"); hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("INV_COIN"); HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 += (HudXRange * tempoffset1 / 100000) * 1.0; xtemp1 += 0.1; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"",d:tempitemamount;HUDMSG_ALPHA, hudmsgid, inventorycolor, xtemp1, ytemp1, baseholdtime, 1.0); xtemp1 -= 0.1; xtemp1 -= (HudXRange * tempoffset1 / 100000) * 1.0; // Re Align to the bottom ytemp1 += (HudYRange * 20000 / 100000) * 1.0; } else { // Re Align to the bottom ytemp1 += (HudYRange * 35000 / 100000) * 1.0; } SetFont("DVDSBIGFONT"); // DQHUDFONTSML hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.03125; ytemp1 += (HudYRange * 10000 / 100000) * 1.0; HudMessage(s:"AMMO"; HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); str tempstring; xtemp1 = (HudXRange * 2500 / 100000) * 1.0 + 0.1; // 0.03125; // Backpacks/Bags of Holding/Dimensional Bags/etc tempitemamount = MiscellaneousVars[80]; hudmsgid -= 1; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML tempstring = "BACKPACKS: "; if (CharacterClass == 2) tempstring = "DIMENSIONAL BAGS: "; if (CharacterClass == 3) tempstring = "BAGS OF HOLDING: "; if (CharacterClass == 8) tempstring = "DIMENSIONAL BAGS: "; if (CharacterClass == 9) tempstring = "DIMENSIONAL BAGS: "; HudMessage(s:tempstring,d:tempitemamount;HUDMSG_ALPHA, hudmsgid, CR_TAN, xtemp1, ytemp1, baseholdtime, 1.0); if (CharacterClass == 2) { // Diaris Arrows tempitemamount = MiscellaneousVars[7401]; tempitemamount2 = MiscellaneousVars[7501]; hudmsgid -= 1; ytemp1 += (HudYRange * 3750 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"DIARIS ARROWS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Poison Needles tempitemamount = MiscellaneousVars[7402]; tempitemamount2 = MiscellaneousVars[7502]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"POISON NEEDLES [EXTRA]: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); } if (ClassicDoomType == 0 || ClassicDoomType == 1 || ClassicDoomType == 5 || ClassicDoomType == 6) { if ((CharacterClass == 2 && MiscellaneousVars[25039] > 0) || CharacterClass == 0 || CharacterClass == 1) { // Bullets tempitemamount = MiscellaneousVars[7403]; tempitemamount2 = MiscellaneousVars[7503]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"BULLETS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); } if (CharacterClass == 0 || CharacterClass == 1) { // Shells tempitemamount = MiscellaneousVars[7404]; tempitemamount2 = MiscellaneousVars[7504]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"SHELLS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Rocket tempitemamount = MiscellaneousVars[7405]; tempitemamount2 = MiscellaneousVars[7505]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"ROCKETS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Cell tempitemamount = MiscellaneousVars[7406]; tempitemamount2 = MiscellaneousVars[7506]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"CELLS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); } } if (ClassicDoomType == 2) // Heretic { // Wand Crystals tempitemamount = MiscellaneousVars[7411]; tempitemamount2 = MiscellaneousVars[7511]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"WAND CRYSTALS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Crossbow Bolts tempitemamount = MiscellaneousVars[7412]; tempitemamount2 = MiscellaneousVars[7512]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"CROSSBOW BOLTS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Claw Orbs tempitemamount = MiscellaneousVars[7413]; tempitemamount2 = MiscellaneousVars[7513]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"CLAW ORBS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Phoenix Orbs tempitemamount = MiscellaneousVars[7414]; tempitemamount2 = MiscellaneousVars[7514]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"PHOENIX ORBS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Hell Runes tempitemamount = MiscellaneousVars[7415]; tempitemamount2 = MiscellaneousVars[7515]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"HELL RUNES: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Mace Spheres tempitemamount = MiscellaneousVars[7416]; tempitemamount2 = MiscellaneousVars[7516]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"MACE SPHERES: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); } if (ClassicDoomType == 3) // Hexen { if (CharacterClass == 4 || CharacterClass == 5 || CharacterClass == 6) { // Blue Mana tempitemamount = MiscellaneousVars[7431]; tempitemamount2 = MiscellaneousVars[7531]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"BLUE MANA: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Green Mana tempitemamount = MiscellaneousVars[7432]; tempitemamount2 = MiscellaneousVars[7532]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"GREEN MANA: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); } } if (ClassicDoomType == 4) // Strife { // Electric Bolts tempitemamount = MiscellaneousVars[7421]; tempitemamount2 = MiscellaneousVars[7521]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"ELECTRIC BOLTS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Poison Bolts tempitemamount = MiscellaneousVars[7422]; tempitemamount2 = MiscellaneousVars[7522]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"POISON BOLTS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); if (CharacterClass == 7) { // Bullets tempitemamount = MiscellaneousVars[7423]; tempitemamount2 = MiscellaneousVars[7523]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"BULLETS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Mini Missiles tempitemamount = MiscellaneousVars[7424]; tempitemamount2 = MiscellaneousVars[7524]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"MINI MISSILES: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Energy Pods tempitemamount = MiscellaneousVars[7425]; tempitemamount2 = MiscellaneousVars[7525]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"ENERGY PODS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // HE Grenades tempitemamount = MiscellaneousVars[7426]; tempitemamount2 = MiscellaneousVars[7526]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"HE GRENADES: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Phosphorus Grenades tempitemamount = MiscellaneousVars[7427]; tempitemamount2 = MiscellaneousVars[7527]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"PHOSPHORUS GRENADES: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); } } if (DVDSSpecialArrayValue[10] > 0 || CheckInventory("PlayingKDIZD") > 0) // Playing KDIZD { if (CharacterClass == 0 || CharacterClass == 1) { // Rifle Shells tempitemamount = MiscellaneousVars[7441]; tempitemamount2 = MiscellaneousVars[7541]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"RIFLE SHELLS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); } } if (DVDSSpecialArrayValue[5] > 0 || CheckInventory("PlayingCircus2") > 0) // Playing Circus 2 { // Popcorn Pieces tempitemamount = MiscellaneousVars[7442]; tempitemamount2 = MiscellaneousVars[7542]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"POPCORN PIECES: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Gore Balloons tempitemamount = MiscellaneousVars[7443]; tempitemamount2 = MiscellaneousVars[7543]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"GORE BALLOONS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Clown Grenades tempitemamount = MiscellaneousVars[7444]; tempitemamount2 = MiscellaneousVars[7544]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"CLOWN GRENADES: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Clown Souls tempitemamount = MiscellaneousVars[7445]; tempitemamount2 = MiscellaneousVars[7545]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"CLOWN SOULS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); // Crazy Balls tempitemamount = MiscellaneousVars[7446]; tempitemamount2 = MiscellaneousVars[7546]; hudmsgid -= 1; ytemp1 += (HudYRange * 2500 / 100000) * 1.0; SetFont("DVDSBIGFONT"); // DQHUDFONTSML HudMessage(s:"CRAZY BALLS: ",d:tempitemamount,s:" / ",d:tempitemamount2;HUDMSG_ALPHA, hudmsgid, ammocolor, xtemp1, ytemp1, baseholdtime, 1.0); } } // Stats - Page 2 if (MenuSystemVars[5] == 2) { } // Stats - Page 3 if (MenuSystemVars[5] == 3) { } } //******************* //******************* //*** Spells Menu *** //******************* //******************* if (MenuSystemVars[4] == 2) { HudXRange = 720; HudYRange = 540; SetHudSize(HudXRange,HudYRange,0); xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 3125 / 100000) * 1.0; // 0.03125; HudMessage(s:"SPELLS - PAGE ",d:PageNo; HUDMSG_ALPHA, 1998, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS // Spells - Page 0 SpellCharges = 0; if (MenuSystemVars[5] == 0) { // Minor Magic Missile [Level 0] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 10000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 0; if (PlayerLevel >= LevelRequirement) SetFont("SPLIMAM1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1997, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 0; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Minor Healing [Level 0] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 20000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 0; if (PlayerLevel >= LevelRequirement) SetFont("SPLIHEA1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1996, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 1; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; HealMin = MiscellaneousVars[281]; // Minor [Min] HealMax = MiscellaneousVars[282]; // Minor [Max] if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:"Heals ",d:HealMin,s:"-",d:HealMax,s:" health points up to ",d:MaxHealthTrue,s:" [100%]", s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Minor Night Vision [Level 1] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 30000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 1; if (PlayerLevel >= LevelRequirement) SetFont("SPLINGV1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1995, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 2; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Chill Touch [Level 1] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 40000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 1; if (PlayerLevel >= LevelRequirement) SetFont("SPLICHL1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1994, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 3; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Minor Invisiblity [Level 2] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 50000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 2; if (PlayerLevel >= LevelRequirement) SetFont("SPLIIVS1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1993, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 4; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Minor Flight [Level 2] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 60000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 2; if (PlayerLevel >= LevelRequirement) SetFont("SPLIFLI1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1992, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 5; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } if (CharacterClass != 1) { // Minor Poison Cloud [Level 3] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 70000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 3; if (PlayerLevel >= LevelRequirement) SetFont("SPLIPSC1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1991, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 6; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } // Minor Fireball [Level 4] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 80000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 4; if (PlayerLevel >= LevelRequirement) SetFont("SPLIFBL1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1990, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 7; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Enhanced Strength [Level 5] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 90000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 5; if (PlayerLevel >= LevelRequirement) SetFont("SPLIENST"); HudMessage(s:"A"; HUDMSG_ALPHA, 1989, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 8; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } // Spells - Page 1 if (MenuSystemVars[5] == 1) { // Minor Ice Blast [Level 6] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 10000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 6; if (PlayerLevel >= LevelRequirement) SetFont("SPLIICB1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1997, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 9; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Summon Weak Monster [Level 7] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 20000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 7; if (PlayerLevel >= LevelRequirement) SetFont("SPLISUM1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1996, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 10; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Magic Missile [Level 7] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 30000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 7; if (PlayerLevel >= LevelRequirement) SetFont("SPLIMAM2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1995, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 11; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Fireball [Level 8] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 40000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 8; if (PlayerLevel >= LevelRequirement) SetFont("SPLIFBL2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1994, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 12; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Explosive Glyph [Level 9] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 50000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 9; if (PlayerLevel >= LevelRequirement) SetFont("SPLIGLY1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1993, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 13; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Healing [Level 9] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 60000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 9; if (PlayerLevel >= LevelRequirement) SetFont("SPLIHEA2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1992, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 14; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; HealMin = MiscellaneousVars[283]; // Normal [Min] HealMax = MiscellaneousVars[284]; // Normal [Max] if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:"Heals ",d:HealMin,s:"-",d:HealMax,s:" health points up to ",d:MaxHealthTrue,s:" [100%]", s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } if (CharacterClass != 0 && CharacterClass != 9) { // Fireball Nova [Level 10] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 70000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 10; if (PlayerLevel >= LevelRequirement) SetFont("SPLINVFR"); HudMessage(s:"A"; HUDMSG_ALPHA, 1991, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 15; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass == 9) { // Desperado Damsel [Level 10] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 70000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 10; if (PlayerLevel >= LevelRequirement) SetFont("SPLIDEDA"); HudMessage(s:"A"; HUDMSG_ALPHA, 1991, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 58; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } // Attack Booster [Level 11] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 80000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 11; if (PlayerLevel >= LevelRequirement) SetFont("SPLIOMPH"); HudMessage(s:"A"; HUDMSG_ALPHA, 1990, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 16; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Minor Raging Spirits [Level 11] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 90000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 11; if (PlayerLevel >= LevelRequirement) SetFont("SPLIRAS1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1989, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 17; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } // Spells - Page 2 if (MenuSystemVars[5] == 2) { // Invisiblity [Level 11] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 10000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 11; if (PlayerLevel >= LevelRequirement) SetFont("SPLIIVS2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1997, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 18; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Acid Rain [Level 12] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 20000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 12; if (PlayerLevel >= LevelRequirement) SetFont("SPLIACRA"); HudMessage(s:"A"; HUDMSG_ALPHA, 1996, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 19; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } if (CharacterClass != 1) { // Minor Terrorization Aura [Level 12] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 30000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 12; if (PlayerLevel >= LevelRequirement) SetFont("SPLIFRA1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1995, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 20; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } // Night Vision [Level 13] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 40000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 13; if (PlayerLevel >= LevelRequirement) SetFont("SPLINGV2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1994, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 21; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Flight [Level 13] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 50000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 13; if (PlayerLevel >= LevelRequirement) SetFont("SPLIFLI2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1993, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 22; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } if (CharacterClass != 0) { // Major Magic Missile [Level 14] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 60000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 14; if (PlayerLevel >= LevelRequirement) SetFont("SPLIMAM3"); HudMessage(s:"A"; HUDMSG_ALPHA, 1992, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 23; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } // Summon Monster [Level 15] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 70000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 15; if (PlayerLevel >= LevelRequirement) SetFont("SPLISUM2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1991, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 24; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Icy Nova [Level 16] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 80000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 16; if (PlayerLevel >= LevelRequirement) SetFont("SPLINVIC"); HudMessage(s:"A"; HUDMSG_ALPHA, 1990, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 25; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } if (CharacterClass != 1) { // Poison Cloud [Level 16] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 90000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 16; if (PlayerLevel >= LevelRequirement) SetFont("SPLIPSC2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1989, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 26; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } } // Spells - Page 3 if (MenuSystemVars[5] == 3) { // Minor Lightning [Level 17] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 10000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 17; if (PlayerLevel >= LevelRequirement) SetFont("SPLILGN1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1997, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 27; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } if (CharacterClass != 2) { // Stone Skin / ? [Level 18] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 20000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 18; if (PlayerLevel >= LevelRequirement) SetFont("SPLISTSK"); HudMessage(s:"A"; HUDMSG_ALPHA, 1996, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 28; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass != 0) { // Major Healing [Level 18] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 30000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 18; if (PlayerLevel >= LevelRequirement) SetFont("SPLIHEA3"); HudMessage(s:"A"; HUDMSG_ALPHA, 1995, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 29; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; HealMin = MiscellaneousVars[285]; // Major [Min] HealMax = MiscellaneousVars[286]; // Major [Max] if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:"Heals ",d:HealMin,s:"-",d:HealMax,s:" health points up to ",d:MaxHealthLimit,s:" [200%]", s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass != 0) { // Major Night Vision [Level 19] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 40000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 19; if (PlayerLevel >= LevelRequirement) SetFont("SPLINGV3"); HudMessage(s:"A"; HUDMSG_ALPHA, 1994, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 30; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } // Ice Blast [Level 20] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 50000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 20; if (PlayerLevel >= LevelRequirement) SetFont("SPLIICB2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1993, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 31; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Farsight [Level 20] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 60000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 20; if (PlayerLevel >= LevelRequirement) SetFont("SPLIFARS"); HudMessage(s:"A"; HUDMSG_ALPHA, 1992, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 32; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } if (CharacterClass != 0) { // Lightning Nova [Level 20] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 70000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 20; if (PlayerLevel >= LevelRequirement) SetFont("SPLINVLG"); HudMessage(s:"A"; HUDMSG_ALPHA, 1991, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 33; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass != 0) { // Minor Time Freezer [Level 21] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 80000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 21; if (PlayerLevel >= LevelRequirement) SetFont("SPLITMF1"); HudMessage(s:"A"; HUDMSG_ALPHA, 1990, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 34; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } // Defense Booster [Level 21] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 90000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 21; if (PlayerLevel >= LevelRequirement) SetFont("SPLIBUFF"); HudMessage(s:"A"; HUDMSG_ALPHA, 1989, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 35; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } // Spells - Page 4 if (MenuSystemVars[5] == 4) { if (CharacterClass != 0) { // Major Invisiblity [Level 21] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 10000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 21; if (PlayerLevel >= LevelRequirement) SetFont("SPLIIVS3"); HudMessage(s:"A"; HUDMSG_ALPHA, 1997, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 36; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass != 0) { // Major Flight [Level 21] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 20000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 21; if (PlayerLevel >= LevelRequirement) SetFont("SPLIFLI3"); HudMessage(s:"A"; HUDMSG_ALPHA, 1996, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 37; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } // Lightning [Level 22] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 30000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 22; if (PlayerLevel >= LevelRequirement) SetFont("SPLILGN2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1995, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 38; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Summon Strong Monster [Level 23] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 40000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 23; if (PlayerLevel >= LevelRequirement) SetFont("SPLISUM3"); HudMessage(s:"A"; HUDMSG_ALPHA, 1994, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 39; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Diamond Skin / Spreader Aura Lv. 1 [Level 24] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 50000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 24; if (PlayerLevel >= LevelRequirement) { if (CharacterClass == 2) { SetFont("SPLISRA1"); } else { SetFont("SPLIDISK"); } } HudMessage(s:"A"; HUDMSG_ALPHA, 1993, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 40; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { if (CharacterClass == 2) { HudMessage(s:"\cfSpreader Aura Lv. 1\c-",s:" - ",s:"Allows You to Create 2 Extra Copies of Most Attacks/Spells.", s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } if (CharacterClass != 0) { // Major Fireball [Level 25] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 60000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 25; if (PlayerLevel >= LevelRequirement) SetFont("SPLIFBL3"); HudMessage(s:"A"; HUDMSG_ALPHA, 1992, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 41; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass != 0) { // Major Ice Blast [Level 25] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 70000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 25; if (PlayerLevel >= LevelRequirement) SetFont("SPLIICB3"); HudMessage(s:"A"; HUDMSG_ALPHA, 1991, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 42; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass != 1) { // Major Poison Cloud [Level 25] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 80000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 25; if (PlayerLevel >= LevelRequirement) SetFont("SPLIPSC3"); HudMessage(s:"A"; HUDMSG_ALPHA, 1990, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 43; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass != 0) { // Major Lightning [Level 25] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 90000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 25; if (PlayerLevel >= LevelRequirement) SetFont("SPLILGN3"); HudMessage(s:"A"; HUDMSG_ALPHA, 1989, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 44; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } } if (MenuSystemVars[5] == 5) { // Invulnerability [Level 26] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 10000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 26; if (PlayerLevel >= LevelRequirement) SetFont("SPLIIVNR"); HudMessage(s:"A"; HUDMSG_ALPHA, 1997, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 45; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Speed Booster [Level 26] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 20000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 26; if (PlayerLevel >= LevelRequirement) SetFont("SPLIACEL"); HudMessage(s:"A"; HUDMSG_ALPHA, 1996, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 46; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } // Raging Spirits [Level 27] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 30000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 27; if (PlayerLevel >= LevelRequirement) SetFont("SPLIRAS2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1995, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 47; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1985, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } if (CharacterClass != 0) { // Summon Archvile [Level 28] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 40000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 28; if (PlayerLevel >= LevelRequirement) SetFont("SPLISUM4"); HudMessage(s:"A"; HUDMSG_ALPHA, 1994, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 48; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1984, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass == 2) { // Ultra Magic Missile [Level 29] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 50000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 29; if (PlayerLevel >= LevelRequirement) SetFont("SPLIMAM4"); HudMessage(s:"A"; HUDMSG_ALPHA, 1993, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 49; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1983, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass != 0) { // Time Freezer [Level 30] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 60000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 30; if (PlayerLevel >= LevelRequirement) SetFont("SPLITMFR"); HudMessage(s:"A"; HUDMSG_ALPHA, 1992, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 50; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1982, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass != 1) { // Terrorization Aura [Level 30] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 70000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 30; if (PlayerLevel >= LevelRequirement) SetFont("SPLIFRA2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1991, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 51; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1981, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass != 2) { // Create Lotso Ammo / ? [Level 30] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 80000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 30; if (PlayerLevel >= LevelRequirement) SetFont("SPLICRLA"); HudMessage(s:"A"; HUDMSG_ALPHA, 1990, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 52; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1980, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } // Divine Avatar [Level 31] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 90000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 31; if (PlayerLevel >= LevelRequirement) SetFont("SPLIDVAV"); HudMessage(s:"A"; HUDMSG_ALPHA, 1989, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 53; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1979, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (MenuSystemVars[5] == 6) { if (CharacterClass != 0) { // Summon Cyberdemon [Level 31] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 10000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 31; if (PlayerLevel >= LevelRequirement) SetFont("SPLISUM5"); HudMessage(s:"A"; HUDMSG_ALPHA, 1997, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 54; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1987, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass == 2) { // Spreader Aura. Lv 2 [Level 56] xtemp2 = (HudXRange * 0 / 100000) * 1.0; // -0.10; ytemp2 = (HudYRange * 20000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); LevelRequirement = 56; if (PlayerLevel >= LevelRequirement) SetFont("SPLISRA2"); HudMessage(s:"A"; HUDMSG_ALPHA, 1996, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 += (HudXRange * 5000 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 -= (HudXRange * 1250 / 100000) * 1.0; // -0.10; SpellNo = 55; SpellCost = MiscellaneousVars[(3000+SpellNo)]; if (SpellCost != 0) SpellCharges = CurrentMana / SpellCost; else SpellCharges = 0; if (PlayerLevel >= LevelRequirement) { HudMessage(s:SpellTable[SpellNo],s:" - ",s:SpellDesc[SpellNo], s:"\n", s:"\nCost: [",d:SpellCost,s:"] (Uses: ",d:SpellCharges,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:"(Unknown Spell - Learned at Level ",d:LevelRequirement,s:")"; HUDMSG_ALPHA, 1986, CR_WHITE, xtemp2, ytemp2, baseholdtime, 1.0); } } /* ytemp2 = (HudYRange * 30000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); HudMessage(s:"A"; HUDMSG_ALPHA, 1995, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); ytemp2 = (HudYRange * 40000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); HudMessage(s:"A"; HUDMSG_ALPHA, 1994, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); ytemp2 = (HudYRange * 50000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); HudMessage(s:"A"; HUDMSG_ALPHA, 1993, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); ytemp2 = (HudYRange * 60000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); HudMessage(s:"A"; HUDMSG_ALPHA, 1992, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); ytemp2 = (HudYRange * 70000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); HudMessage(s:"A"; HUDMSG_ALPHA, 1991, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); ytemp2 = (HudYRange * 80000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); HudMessage(s:"A"; HUDMSG_ALPHA, 1990, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); ytemp2 = (HudYRange * 90000 / 100000) * 1.0; // 0.1625; SetFont("SPLIUNKN"); HudMessage(s:"A"; HUDMSG_ALPHA, 1989, CR_UNTRANSLATED, xtemp2, ytemp2, baseholdtime, 1.0); */ } } //****************** //****************** //*** Perks Menu *** //****************** //****************** if (MenuSystemVars[4] == 3) { str perkptsused = ""; HudXRange = 720; HudYRange = 540; SetHudSize(HudXRange,HudYRange,0); xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 3125 / 100000) * 1.0; // 0.03125; HudMessage(s:"PERKS - PAGE ",d:PageNo; HUDMSG_ALPHA, 1998, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); //******************************************** // First Page - All-Character Stat Perks //******************************************** if (MenuSystemVars[5] == 0) // [10] { SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 8125 / 100000) * 1.0; // 0.08125; HudMessage(s:"Stat Perks [All]"; HUDMSG_ALPHA, 1903, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid = 1998; // Selection #1 hudmsgid -= 1; SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 = (HudXRange * 0 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 = (HudYRange * 16250 / 100000) * 1.0; // 0.1625; perkname = "LIFE UP"; temp4 = 10001; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 5.0; temp2 = MiscellaneousVars[temp4] * 5.0; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 3 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 5 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 7 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 15 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-HP INCREASED BY \cd",f:temp1,s:"%\c- AND DEFENSE INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-HP INCREASED BY \cd",f:temp1,s:"%\c- AND DEFENSE INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #2 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "MAGI UP"; temp4 = 10003; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 5.0; temp2 = MiscellaneousVars[temp4] * 5.0; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 3 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 5 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 7 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 15 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 2) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-MP INCREASED BY \cd",f:temp1,s:"%\c- AND MAG-DMG INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-MP INCREASED BY \cd",f:temp1,s:"%\c- AND MAG-DMG INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #3 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "STAM UP"; temp4 = 10005; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 5.0; temp2 = MiscellaneousVars[temp4] * 2.5; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 3 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 5 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 7 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 15 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-STAMINA & MELEE DAMAGE INCREASED BY \cd",f:temp1,s:"%\c-, INVENTORY & AMMO LIMITS INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-STAMINA & MELEE DAMAGE INCREASED BY \cd",f:temp1,s:"%\c-, INVENTORY & AMMO LIMITS INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #4 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "DODGE MORE"; temp4 = 10007; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 2.5; temp2 = MiscellaneousVars[temp4] * 1.0; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 3 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 5 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 7 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 15 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 4) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES EVASION CHANCE BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES EVASION CHANCE BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #5 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "JUMP MORE"; temp4 = 10009; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 5.0; temp2 = MiscellaneousVars[temp4] * 1.0; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 3 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 5 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 7 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 15 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 5) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES JUMP STRENGTH BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES JUMP STRENGTH BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #6 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "PSYCHE FAST"; temp4 = 10011; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 7.5; temp2 = MiscellaneousVars[temp4] * 1.25; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 3 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 5 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 7 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 15 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 6) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES PSYCHE-UP SPEED BY \cd",f:temp1,s:"%\c- & DECREASES OVERALL PSYCHE-UP FAILURE RATE BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES PSYCHE-UP SPEED BY \cd",f:temp1,s:"%\c- & DECREASES OVERALL PSYCHE-UP FAILURE RATE BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #7 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "REGEN HP FAST"; temp4 = 10013; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 20.0; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 6 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 9 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 12 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 18 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 24 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 7) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - HP REGEN SPD \cd+",f:temp1,s:"%\c- AND HP DEGEN SPD \cd-",f:temp1,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - HP REGEN SPD \cd+",f:temp1,s:"%\c- AND HP DEGEN SPD \cd-",f:temp1,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #8 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "REGEN MP FAST"; temp4 = 10015; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 20.0; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 6 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 9 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 12 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 18 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 24 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 8) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MP REGEN SPD \cd+",f:temp1,s:"%\c- AND MP DEGEN SPD \cd-",f:temp1,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MP REGEN SPD \cd+",f:temp1,s:"%\c- AND MP DEGEN SPD \cd-",f:temp1,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #9 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "REGEN STAM FAST"; temp4 = 10017; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 20.0; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 6 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 9 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 12 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 18 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 24 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 9) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - STAMINA REGEN SPD \cd+",f:temp1,s:"%\c- AND STAMINA DEGEN SPD \cd-",f:temp1,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - STAMINA REGEN SPD \cd+",f:temp1,s:"%\c- AND STAMINA DEGEN SPD \cd-",f:temp1,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #10 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "ON THE MOVE"; temp4 = 10045; // MiscellaneousVars[] if (MiscellaneousVars[temp4] == 0) temp1 = 0.000000000; else { temp1 = 1.000000000 + (MiscellaneousVars[temp4] * 1.500000000); } if (MiscellaneousVars[temp4] == 1) temp1 += (MiscellaneousVars[31] * 0.025000000); if (MiscellaneousVars[temp4] == 2) temp1 += (MiscellaneousVars[31] * 0.031250000); if (MiscellaneousVars[temp4] == 3) temp1 += (MiscellaneousVars[31] * 0.041666667); if (MiscellaneousVars[temp4] == 4) temp1 += (MiscellaneousVars[31] * 0.062500000); if (MiscellaneousVars[temp4] == 5) temp1 += (MiscellaneousVars[31] * 0.125000000); temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 6 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 7 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 10 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 13 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 17 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; temp11 = 5; // Max Levels if (MenuSystemVars[1] == 10) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - EVASION CHANCE \cd+",f:temp1,s:"%\c- WHEN ACTIVELY MOVING.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - EVASION CHANCE \cd+",f:temp1,s:"%\c- WHEN ACTIVELY MOVING.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } hudmsgid = 1903; hudmsgid -= 1; SetFont("STATAEON"); xtemp3 = (HudXRange * 47500 / 100000) * 1.0; // 0.475; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(s:"A"; HUDMSG_ALPHA, hudmsgid, CR_UNTRANSLATED, xtemp3, ytemp3, baseholdtime, 1.0); hudmsgid -= 1; SetFont("DQHUDFONTSTATUS"); // DQHUDFONTSTATUS // DQHUDFONTSML // Default Font setting for all menus xtemp3 = (HudXRange * 52500 / 100000) * 1.0; // 0.525; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(d:MiscellaneousVars[25]; HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp3, ytemp3, baseholdtime, 1.0); } //******************************************** // Second Page - Character-Specific Stat Perks //******************************************** if (MenuSystemVars[5] == 1) { SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 8125 / 100000) * 1.0; // 0.038125; HudMessage(s:"Stat Perks [Character-Specific]"; HUDMSG_ALPHA, 1903, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); if (CharacterClass == 0) // Deggaris Only [3] { SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS hudmsgid = 1998; // Selection #1 hudmsgid -= 1; xtemp2 = (HudXRange * 0 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 = (HudYRange * 16250 / 100000) * 1.0; // 0.1625; perkname = "MAGI UP EX"; temp4 = 10004; // MiscellaneousVars[] temp5 = 10003; temp1 = MiscellaneousVars[temp4] * 12.5; temp2 = MiscellaneousVars[temp4] * 12.5; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccMAGI UP \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccMAGI UP \cv(2+)\cg]"; } if (MiscellaneousVars[temp4] == 1) { if (MiscellaneousVars[temp5] >= 4) perkdescript1 = " \cd[REQUIRES \ccMAGI UP \cv(4+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccMAGI UP \cv(4+)\cg]"; } temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 16 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; temp11 = 2; // Max Levels if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-MP INCREASED BY \cd",f:temp1,s:"%\c- AND MAG-DMG INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-MP INCREASED BY \cd",f:temp1,s:"%\c- AND MAG-DMG INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #2 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "DODGE MORE EX"; temp4 = 10008; // MiscellaneousVars[] temp5 = 10007; temp1 = MiscellaneousVars[temp4] * 6.25; temp2 = MiscellaneousVars[temp4] * 2.5; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccDODGE MORE \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccDODGE MORE \cv(2+)\cg]"; } temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 11 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; temp11 = 1; // Max Levels if (MenuSystemVars[1] == 2) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES EVASION CHANCE BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES EVASION CHANCE BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #3 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "JUMP MORE EX"; temp4 = 10010; // MiscellaneousVars[] temp5 = 10009; temp1 = MiscellaneousVars[temp4] * 12.5; temp2 = MiscellaneousVars[temp4] * 2.5; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccJUMP MORE \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccJUMP MORE \cv(2+)\cg]"; } if (MiscellaneousVars[temp4] == 1) { if (MiscellaneousVars[temp5] >= 4) perkdescript1 = " \cd[REQUIRES \ccJUMP MORE \cv(4+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccJUMP MORE \cv(4+)\cg]"; } temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 16 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; temp11 = 2; // Max Levels if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES JUMP STRENGTH BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES JUMP STRENGTH BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } else if (CharacterClass == 1) // Illucia Only [3] { SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS hudmsgid = 1998; // Selection #1 hudmsgid -= 1; xtemp2 = (HudXRange * 0 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 = (HudYRange * 16250 / 100000) * 1.0; // 0.1625; perkname = "STAM UP EX"; temp4 = 10006; // MiscellaneousVars[] temp5 = 10005; temp1 = MiscellaneousVars[temp4] * 12.5; temp2 = MiscellaneousVars[temp4] * 6.25; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccSTAM UP \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccSTAM UP \cv(2+)\cg]"; } if (MiscellaneousVars[temp4] == 1) { if (MiscellaneousVars[temp5] >= 4) perkdescript1 = " \cd[REQUIRES \ccSTAM UP \cv(4+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccSTAM UP \cv(4+)\cg]"; } temp11 = 2; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 16 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-STAMINA & MELEE DAMAGE INCREASED BY \cd",f:temp1,s:"%\c-, INVENTORY & AMMO LIMITS INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-STAMINA & MELEE DAMAGE INCREASED BY \cd",f:temp1,s:"%\c-, INVENTORY & AMMO LIMITS INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #2 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "DODGE MORE EX"; temp4 = 10008; // MiscellaneousVars[] temp5 = 10007; temp1 = MiscellaneousVars[temp4] * 6.25; temp2 = MiscellaneousVars[temp4] * 2.5; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccDODGE MORE \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccDODGE MORE \cv(2+)\cg]"; } if (MiscellaneousVars[temp4] == 1) { if (MiscellaneousVars[temp5] >= 4) perkdescript1 = " \cd[REQUIRES \ccDODGE MORE \cv(4+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccDODGE MORE \cv(4+)\cg]"; } temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 16 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; temp11 = 2; // Max Levels if (MenuSystemVars[1] == 2) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES EVASION CHANCE BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES EVASION CHANCE BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #3 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "JUMP MORE EX"; temp4 = 10010; // MiscellaneousVars[] temp5 = 10009; temp1 = MiscellaneousVars[temp4] * 12.5; temp2 = MiscellaneousVars[temp4] * 2.5; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccJUMP MORE \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccJUMP MORE \cv(2+)\cg]"; } temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 11 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; temp11 = 1; // Max Levels if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES JUMP STRENGTH BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES JUMP STRENGTH BY \cd",f:temp1,s:"%\c- & MOVEMENT SPEED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } else if (CharacterClass == 2) // Flora Only [3] { SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS hudmsgid = 1998; // Selection #1 hudmsgid -= 1; xtemp2 = (HudXRange * 0 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 = (HudYRange * 16250 / 100000) * 1.0; // 0.1625; perkname = "LIFE UP EX"; temp4 = 10002; // MiscellaneousVars[] temp5 = 10001; temp1 = MiscellaneousVars[temp4] * 12.5; temp2 = MiscellaneousVars[temp4] * 12.5; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccLIFE UP \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccLIFE UP \cv(2+)\cg]"; } if (MiscellaneousVars[temp4] == 1) { if (MiscellaneousVars[temp5] >= 4) perkdescript1 = " \cd[REQUIRES \ccLIFE UP \cv(4+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccLIFE UP \cv(4+)\cg]"; } temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 16 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; temp11 = 2; // Max Levels if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-HP INCREASED BY \cd",f:temp1,s:"%\c- AND DEFENSE INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-HP INCREASED BY \cd",f:temp1,s:"%\c- AND DEFENSE INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #2 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "PSYCHE FAST EX"; temp4 = 10012; // MiscellaneousVars[] temp5 = 10011; temp1 = MiscellaneousVars[temp4] * 18.75; temp2 = MiscellaneousVars[temp4] * 3.125; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccPSYCHE FAST \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccPSYCHE FAST \cv(2+)\cg]"; } if (MiscellaneousVars[temp4] == 1) { if (MiscellaneousVars[temp5] >= 4) perkdescript1 = " \cd[REQUIRES \ccPSYCHE FAST \cv(4+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccPSYCHE FAST \cv(4+)\cg]"; } temp3 = 0; // Cost for next level. temp11 = 2; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 11 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 16 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 2) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES PSYCHE-UP SPEED BY \cd",f:temp1,s:"%\c- & DECREASES OVERALL PSYCHE-UP FAILURE RATE BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES PSYCHE-UP SPEED BY \cd",f:temp1,s:"%\c- & DECREASES OVERALL PSYCHE-UP FAILURE RATE BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #3 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "STAM UP EX"; temp4 = 10006; // MiscellaneousVars[] temp5 = 10005; temp1 = MiscellaneousVars[temp4] * 12.5; temp2 = MiscellaneousVars[temp4] * 6.25; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccSTAM UP \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccSTAM UP \cv(2+)\cg]"; } temp3 = 0; // Cost for next level. temp11 = 1; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 11 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-STAMINA & MELEE DAMAGE INCREASED BY \cd",f:temp1,s:"%\c-, INVENTORY & AMMO LIMITS INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - MAX-STAMINA & MELEE DAMAGE INCREASED BY \cd",f:temp1,s:"%\c-, INVENTORY & AMMO LIMITS INCREASED BY \cd",f:temp2,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } SetFont("STATAEON"); xtemp3 = (HudXRange * 47500 / 100000) * 1.0; // 0.475; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(s:"A"; HUDMSG_ALPHA, 1902, CR_UNTRANSLATED, xtemp3, ytemp3, baseholdtime, 1.0); SetFont("DQHUDFONTSTATUS"); // DQHUDFONTSTATUS // DQHUDFONTSML // Default Font setting for all menus xtemp3 = (HudXRange * 52500 / 100000) * 1.0; // 0.525; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(d:MiscellaneousVars[25]; HUDMSG_ALPHA, 1901, CR_GOLD, xtemp3, ytemp3, baseholdtime, 1.0); } //******************************************** // Third Page - Weapon Perks //******************************************** if (MenuSystemVars[5] == 2) { SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 8125 / 100000) * 1.0; // 0.038125; HudMessage(s:"Weapon Perks"; HUDMSG_ALPHA, 1903, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); if (CharacterClass == 0 | CharacterClass == 1) // Deggaris & Illucia Both [6 Shared] { hudmsgid = 1998; // Selection #1 hudmsgid -= 1; xtemp2 = (HudXRange * 0 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 = (HudYRange * 11875 / 100000) * 1.0 + 0.1; // -0.15; perkname = "BERSERKER FIT"; temp4 = 10051; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 1.6; temp2 = 0.0; temp24 = MiscellaneousVars[temp4] * 11.11; temp25 = MiscellaneousVars[temp4] * 16.67; if (MiscellaneousVars[temp4] == 1) temp2 = 5.0; if (MiscellaneousVars[temp4] == 2) temp2 = 12.5; if (MiscellaneousVars[temp4] == 3) temp2 = 17.5; if (MiscellaneousVars[temp4] == 4) temp2 = 30.0; if (MiscellaneousVars[temp4] == 5) temp2 = 60.0; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 10 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 15 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 20 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 25 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 35 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] == 0) { temp21 = 0.0; if (CharacterClass == 0) temp21 = 0.0; if (CharacterClass == 1) temp21 = 0.0; temp22 = 0.0; if (CharacterClass == 0) temp22 = 0.0; if (CharacterClass == 1) temp22 = 0.0; temp23 = 0.0; if (CharacterClass == 0) temp23 = 0.0; if (CharacterClass == 1) temp23 = 0.0; HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp1,s:"%\c- CRITICAL HIT CHANCE WHEN MELEE WEAPONS ARE EQUIPPED", s:"\nNON-CHAINSAW MELEE DAMAGE INCREASED BY \cd0%\c-.", s:"\nSTAMINA CONSUMPTION FOR MELEE ATTACKS REDUCED BY \cd",f:temp2,s:"%\c-", s:"\nPUNCHES/KICKS/UPPERCUTS HAVE A \cd3.125%\c- CHANCE TO \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd",f:temp21,s:"%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd",f:temp22,s:"%\c- FASTER\c-", s:"\nKICKS ARE \cd",f:temp23,s:"%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp24,s:"%\c-.", s:"\nFISTS/GAUNTLETS/CHAINSAW (UN)SHEATHE SPEED INCREASED BY \cd",f:temp25,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] == 1) { temp21 = 0.0; if (CharacterClass == 0) temp21 = 0.0; if (CharacterClass == 1) temp21 = 0.0; temp22 = 0.0; if (CharacterClass == 0) temp22 = 27.77; if (CharacterClass == 1) temp22 = 27.77; temp23 = 0.0; if (CharacterClass == 0) temp23 = 0.0; if (CharacterClass == 1) temp23 = 0.0; HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp1,s:"%\c- CRITICAL HIT CHANCE WHEN MELEE WEAPONS ARE EQUIPPED", s:"\nNON-CHAINSAW MELEE DAMAGE INCREASED BY \cd1.25%\c-.", s:"\nSTAMINA CONSUMPTION FOR MELEE ATTACKS REDUCED BY \cd",f:temp2,s:"%\c-", s:"\nPUNCHES/KICKS/UPPERCUTS HAVE A \cd6.25%\c- CHANCE TO \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd",f:temp21,s:"%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd",f:temp22,s:"%\c- FASTER\c-", s:"\nKICKS ARE \cd",f:temp23,s:"%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp24,s:"%\c-.", s:"\nFISTS/GAUNTLETS/CHAINSAW (UN)SHEATHE SPEED INCREASED BY \cd",f:temp25,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] == 2) { temp21 = 0.0; if (CharacterClass == 0) temp21 = 29.41; if (CharacterClass == 1) temp21 = 41.66; temp22 = 0.0; if (CharacterClass == 0) temp22 = 64.28; if (CharacterClass == 1) temp22 = 64.28; temp23 = 0.0; if (CharacterClass == 0) temp23 = 0.0; if (CharacterClass == 1) temp23 = 0.0; HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp1,s:"%\c- CRITICAL HIT CHANCE WHEN MELEE WEAPONS ARE EQUIPPED", s:"\nNON-CHAINSAW MELEE DAMAGE INCREASED BY \cd3.75%\c-.", s:"\nSTAMINA CONSUMPTION FOR MELEE ATTACKS REDUCED BY \cd",f:temp2,s:"%\c-", s:"\nPUNCHES/KICKS/UPPERCUTS HAVE A \cd12.5%\c- CHANCE TO \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd",f:temp21,s:"%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd",f:temp22,s:"%\c- FASTER\c-", s:"\nKICKS ARE \cd",f:temp23,s:"%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp24,s:"%\c-.", s:"\nFISTS/GAUNTLETS/CHAINSAW (UN)SHEATHE SPEED INCREASED BY \cd",f:temp25,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] == 3) { temp21 = 0.0; if (CharacterClass == 0) temp21 = 29.41; if (CharacterClass == 1) temp21 = 41.66; temp22 = 0.0; if (CharacterClass == 0) temp22 = 109.09; if (CharacterClass == 1) temp22 = 109.09; temp23 = 0.0; if (CharacterClass == 0) temp23 = 46.15; if (CharacterClass == 1) temp23 = 85.71; HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp1,s:"%\c- CRITICAL HIT CHANCE WHEN MELEE WEAPONS ARE EQUIPPED", s:"\nNON-CHAINSAW MELEE DAMAGE INCREASED BY \cd11.25%\c-.", s:"\nSTAMINA CONSUMPTION FOR MELEE ATTACKS REDUCED BY \cd",f:temp2,s:"%\c-", s:"\nPUNCHES/KICKS/UPPERCUTS HAVE A \cd25%\c- CHANCE TO \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd",f:temp21,s:"%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd",f:temp22,s:"%\c- FASTER\c-", s:"\nKICKS ARE \cd",f:temp23,s:"%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp24,s:"%\c-.", s:"\nFISTS/GAUNTLETS/CHAINSAW (UN)SHEATHE SPEED INCREASED BY \cd",f:temp25,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] == 4) { temp21 = 0.0; if (CharacterClass == 0) temp21 = 83.33; if (CharacterClass == 1) temp21 = 142.85; temp22 = 0.0; if (CharacterClass == 0) temp22 = 187.5; if (CharacterClass == 1) temp22 = 187.5; temp23 = 0.0; if (CharacterClass == 0) temp23 = 46.15; if (CharacterClass == 1) temp23 = 85.71; HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp1,s:"%\c- CRITICAL HIT CHANCE WHEN MELEE WEAPONS ARE EQUIPPED", s:"\nNON-CHAINSAW MELEE DAMAGE INCREASED BY \cd33.75%\c-.", s:"\nSTAMINA CONSUMPTION FOR MELEE ATTACKS REDUCED BY \cd",f:temp2,s:"%\c-", s:"\nPUNCHES/KICKS/UPPERCUTS HAVE A \cd50%\c- CHANCE TO \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd",f:temp21,s:"%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd",f:temp22,s:"%\c- FASTER\c-", s:"\nKICKS ARE \cd",f:temp23,s:"%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp24,s:"%\c-.", s:"\nFISTS/GAUNTLETS/CHAINSAW (UN)SHEATHE SPEED INCREASED BY \cd",f:temp25,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] == 5) { temp21 = 0.0; if (CharacterClass == 0) temp21 = 83.33; if (CharacterClass == 1) temp21 = 142.85; temp22 = 0.0; if (CharacterClass == 0) temp22 = 283.33; if (CharacterClass == 1) temp22 = 283.33; temp23 = 0.0; if (CharacterClass == 0) temp23 = 58.33; if (CharacterClass == 1) temp23 = 116.67; HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp1,s:"%\c- CRITICAL HIT CHANCE WHEN MELEE WEAPONS ARE EQUIPPED", s:"\nNON-CHAINSAW MELEE DAMAGE INCREASED BY \cd101.25%\c-.", s:"\nSTAMINA CONSUMPTION FOR MELEE ATTACKS REDUCED BY \cd",f:temp2,s:"%\c-", s:"\nPUNCHES/KICKS/UPPERCUTS \cdALWAYS\c- \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd",f:temp21,s:"%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd",f:temp22,s:"%\c- FASTER\c-", s:"\nKICKS ARE \cd",f:temp23,s:"%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp24,s:"%\c-.", s:"\nFISTS/GAUNTLETS/CHAINSAW (UN)SHEATHE SPEED INCREASED BY \cd",f:temp25,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #2 hudmsgid -= 1; ytemp2 += (HudYRange * 16875 / 100000) * 1.0; // 0.075; perkname = "BULLET ACCURACY"; temp4 = 10019; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 10.0; temp2 = MiscellaneousVars[temp4] * 5.0; temp21 = MiscellaneousVars[temp4] * 16.67; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 3 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 6 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 10 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 14 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 19 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 2) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF BULLET WEAPONS BY \cd",f:temp1,s:"%\c- & BULLET DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\nPISTOL(S)/CHAINGUN/MINIGUN (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF BULLET WEAPONS BY \cd",f:temp1,s:"%\c- & BULLET DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\nPISTOL(S)/CHAINGUN/MINIGUN (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #3 hudmsgid -= 1; ytemp2 += (HudYRange * 8125 / 100000) * 1.0; // 0.075; perkname = "PELLET ACCURACY"; temp4 = 10021; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 10.0; temp2 = MiscellaneousVars[temp4] * 5.0; temp21 = MiscellaneousVars[temp4] * 16.67; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 3 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 6 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 10 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 14 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 19 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF PELLET WEAPONS BY \cd",f:temp1,s:"%\c- & PELLET DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\n(SUPER) SHOTGUN (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF PELLET WEAPONS BY \cd",f:temp1,s:"%\c- & PELLET DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\n(SUPER) SHOTGUN (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #4 hudmsgid -= 1; ytemp2 += (HudYRange * 8125 / 100000) * 1.0; // 0.075; perkname = "PLASMA ACCURACY"; temp4 = 10023; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 10.0; temp2 = MiscellaneousVars[temp4] * 5.0; temp21 = MiscellaneousVars[temp4] * 16.67; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 3 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 6 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 10 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 14 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 19 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 4) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF PLASMA-WEAPONS FIRE BY \cd",f:temp1,s:"%\c- & PLASMA DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\nPLASMA RIFLE/KARASAWA/REPEATER/RAILGUN/BFG9000 (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF PLASMA-WEAPONS FIRE BY \cd",f:temp1,s:"%\c- & PLASMA DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\nPLASMA RIFLE/KARASAWA/REPEATER/RAILGUN/BFG9000 (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #5 hudmsgid -= 1; ytemp2 += (HudYRange * 8125 / 100000) * 1.0; // 0.075; perkname = "DEMOLITIONS EXPERT"; temp4 = 10025; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 7.0; temp2 = MiscellaneousVars[temp4] * 14.0; temp21 = MiscellaneousVars[temp4] * 16.67; temp22 = MiscellaneousVars[temp4] * 10.5; temp23 = MiscellaneousVars[temp4] * 21.0; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 3 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 6 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 10 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 14 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 19 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 5) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - EXPLOSIVE DAMAGE DEALT \cd+",f:temp1,s:" - ",f:temp2,s:"%\c- & EXPLOSIVE DAMAGE TAKEN \cd-",f:temp22,s:" - ",f:temp23,s:"%\c-", s:"\nROCKET LAUNCHER (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - EXPLOSIVE DAMAGE DEALT \cd+",f:temp1,s:" - ",f:temp2,s:"%\c- & EXPLOSIVE DAMAGE TAKEN \cd-",f:temp22,s:" - ",f:temp23,s:"%\c-", s:"\nROCKET LAUNCHER (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #6 hudmsgid -= 1; ytemp2 += (HudYRange * 8125 / 100000) * 1.0; // 0.075; perkname = "BOTTOMLESS MAGAZINES"; temp4 = 10047; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 10.0; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 5 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 9 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 14 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 20 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 28 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 6) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES CHANCES OF NOT CONSUMING AMMO BY \cd",f:temp1,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES CHANCES OF NOT CONSUMING AMMO BY \cd",f:temp1,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } if (CharacterClass == 0) // Deggaris Only [3, 9 total] { // Selection #7 hudmsgid -= 1; ytemp2 += (HudYRange * 6875 / 100000) * 1.0; // 0.075; perkname = "BULLET ACCURACY EX"; temp4 = 10020; // MiscellaneousVars[] temp5 = 10019; temp1 = MiscellaneousVars[temp4] * 15.0; temp2 = MiscellaneousVars[temp4] * 25.0; temp21 = MiscellaneousVars[temp4] * 41.667; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccBULLET ACCURACY \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccBULLET ACCURACY \cv(2+)\cg]"; } if (MiscellaneousVars[temp4] == 1) { if (MiscellaneousVars[temp5] >= 4) perkdescript1 = " \cd[REQUIRES \ccBULLET ACCURACY \cv(4+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccBULLET ACCURACY \cv(4+)\cg]"; } temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 4 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 7 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; temp11 = 2; // Max Levels if (MenuSystemVars[1] == 7) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF BULLET WEAPONS BY \cd",f:temp1,s:"%\c- & BULLET DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\nPISTOL(S)/CHAINGUN/MINIGUN (UN)SHEATHE SPEED INCREASED MORE BY \cd",f:temp21,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF BULLET WEAPONS BY \cd",f:temp1,s:"%\c- & BULLET DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\nPISTOL(S)/CHAINGUN/MINIGUN (UN)SHEATHE SPEED INCREASED MORE BY \cd",f:temp21,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #8 hudmsgid -= 1; ytemp2 += (HudYRange * 8125 / 100000) * 1.0; // 0.075; perkname = "DEMOLITIONS EXPERT EX"; temp4 = 10026; // MiscellaneousVars[] temp5 = 10025; temp1 = MiscellaneousVars[temp4] * 17.5; temp2 = MiscellaneousVars[temp4] * 35.0; temp21 = MiscellaneousVars[temp4] * 41.667; temp22 = MiscellaneousVars[temp4] * 26.25; temp23 = MiscellaneousVars[temp4] * 52.5; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccDEMOLITIONS EXPERT \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccDEMOLITIONS EXPERT \cv(2+)\cg]"; } temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 4 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; temp11 = 1; // Max Levels if (MenuSystemVars[1] == 8) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - EXPLOSIVE DAMAGE DEALT \cd+",f:temp1,s:" - ",f:temp2,s:"%\c- & EXPLOSIVE DAMAGE TAKEN \cd-",f:temp22,s:" - ",f:temp23,s:"%\c-", s:"\nROCKET LAUNCHER (UN)SHEATHE SPEED INCREASED MORE BY \cd",f:temp21,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - EXPLOSIVE DAMAGE DEALT \cd+",f:temp1,s:" - ",f:temp2,s:"%\c- & EXPLOSIVE DAMAGE TAKEN \cd-",f:temp22,s:" - ",f:temp23,s:"%\c-", s:"\nROCKET LAUNCHER (UN)SHEATHE SPEED INCREASED MORE BY \cd",f:temp21,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #9 hudmsgid -= 1; ytemp2 += (HudYRange * 8125 / 100000) * 1.0; // 0.075; perkname = "BFG ATTUNEMENT"; temp4 = 10029; // MiscellaneousVars[] temp21 = 33.334; temp11 = 2; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 24 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 43 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 9) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] == 0) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - WILL AFFECT BFG 9000 TRAITS...", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] == 1) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - BFG DAMAGE INCREASED SOMEWHAT.", s:"\nREDUCES THE COST OF BFG SHOTS FROM \cd40\c- CELLS TO \cd32\c- CELLS", s:"\nBFG WILL EMIT \cd48\c- TRACERS INSTEAD OF \cd40\c- ON DETONATION.", s:"\nBFG FIRING SPEED \cd+20%\c-.", s:"\nBFG DAMAGE \cd+50%\c-.", s:"\nBFG9000 (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] >= 2) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - BFG DAMAGE INCREASED GREATLY.", s:"\nREDUCES THE COST OF BFG SHOTS FROM \cd40\c- CELLS TO \cd24\c- CELLS", s:"\nBFG WILL EMIT \cd56\c- TRACERS INSTEAD OF \cd40\c- ON DETONATION.", s:"\nBFG FIRING SPEED \cd+40%\c-.", s:"\nBFG DAMAGE \cd+100%\c-.", s:"\nBFG9000 (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass == 1) // Illucia Only [3, 9 total] { // Selection #7 hudmsgid -= 1; ytemp2 += (HudYRange * 6875 / 100000) * 1.0; // 0.075; perkname = "PELLET ACCURACY EX"; temp4 = 10022; // MiscellaneousVars[] temp5 = 10021; temp1 = MiscellaneousVars[temp4] * 15.0; temp2 = MiscellaneousVars[temp4] * 25.0; temp21 = MiscellaneousVars[temp4] * 41.667; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccPELLET ACCURACY \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccPELLET ACCURACY \cv(2+)\cg]"; } if (MiscellaneousVars[temp4] == 1) { if (MiscellaneousVars[temp5] >= 4) perkdescript1 = " \cd[REQUIRES \ccPELLET ACCURACY \cv(4+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccPELLET ACCURACY \cv(4+)\cg]"; } temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 4 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 7 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; temp11 = 2; // Max Levels if (MenuSystemVars[1] == 7) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF PELLET WEAPONS BY \cd",f:temp1,s:"%\c- & PELLET DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\n(SUPER) SHOTGUN (UN)SHEATHE SPEED INCREASED MORE BY \cd",f:temp21,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF PELLET WEAPONS BY \cd",f:temp1,s:"%\c- & PELLET DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\n(SUPER) SHOTGUN (UN)SHEATHE SPEED INCREASED MORE BY \cd",f:temp21,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #8 hudmsgid -= 1; ytemp2 += (HudYRange * 8125 / 100000) * 1.0; // 0.075; perkname = "PLASMA ACCURACY EX"; temp4 = 10024; // MiscellaneousVars[] temp5 = 10023; temp1 = MiscellaneousVars[temp4] * 15.0; temp2 = MiscellaneousVars[temp4] * 25.0; temp21 = MiscellaneousVars[temp4] * 41.667; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccPLASMA ACCURACY \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccPLASMA ACCURACY \cv(2+)\cg]"; } temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 4 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; temp11 = 1; // Max Levels if (MenuSystemVars[1] == 8) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF PLASMA-WEAPONS FIRE BY \cd",f:temp1,s:"%\c- & PLASMA DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\nPLASMA RIFLE/KARASAWA/REPEATER/RAILGUN/BFG9000 (UN)SHEATHE SPEED INCREASED MORE BY \cd",f:temp21,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - REDUCES SPREAD OF PLASMA-WEAPONS FIRE BY \cd",f:temp1,s:"%\c- & PLASMA DAMAGE INCREASED BY \cd",f:temp2,s:"%", s:"\nPLASMA RIFLE/KARASAWA/REPEATER/RAILGUN/BFG9000 (UN)SHEATHE SPEED INCREASED MORE BY \cd",f:temp21,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #9 hudmsgid -= 1; ytemp2 += (HudYRange * 8125 / 100000) * 1.0; // 0.075; perkname = "KARASAWA ATTUNEMENT"; temp4 = 10027; // MiscellaneousVars[] temp21 = 33.334; temp11 = 2; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 24 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 43 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 9) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] == 0) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - WILL AFFECT KAWASAWA TRAITS...", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] == 1) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - KAWASAWA SHOTS BECOMES \cd18.75%\c- SLOWER.", s:"\nKAWASAWA SHOTS WILL DEAL \cd50%\c- MORE DAMAGE.", s:"\nKAWASAWA SHOTS CONSUME \cd12\c- CELLS INSTEAD OF \cd16\c-.", s:"\nKAWASAWA FIRING SPEED \cd+20%\c-.", s:"\nKARASAWA (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] >= 2) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - KAWASAWA SHOTS BECOMES \cd37.5%\c- SLOWER.", s:"\nKAWASAWA SHOTS WILL DEAL \cd100%\c- MORE DAMAGE.", s:"\nKAWASAWA SHOTS CONSUME \cd8\c- CELLS INSTEAD OF \cd12\c-.", s:"\nKAWASAWA FIRING SPEED \cd+40%\c-.", s:"\nKARASAWA (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } } else if (CharacterClass == 2) // Flora [4, 4 total] { hudmsgid = 1998; // Selection #1 hudmsgid -= 1; SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 = (HudXRange * 0 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 = (HudYRange * 15000 / 100000) * 1.0 + 0.1; // -0.15; perkname = "ARCHERY MASTERY"; temp4 = 10031; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 12.5; temp2 = MiscellaneousVars[temp4] * 10.0; temp21 = MiscellaneousVars[temp4] * 16.67; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 5 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 10 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 16 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 23 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 31 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - ARROW DAMAGE \cd+",f:temp1,s:"%\c- AND ARROW SPEED \cd+",f:temp2,s:"%\c-", s:"\nLONGBOW/CROSSBOW (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - ARROW DAMAGE \cd+",f:temp1,s:"%\c- AND ARROW SPEED \cd+",f:temp2,s:"%\c-", s:"\nLONGBOW/CROSSBOW (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #2 hudmsgid -= 1; ytemp2 += (HudYRange * 8750 / 100000) * 1.0; // 0.075; perkname = "WAND/STAFF MASTERY"; temp4 = 10053; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 10.0; temp2 = MiscellaneousVars[temp4] * 6.25; temp21 = (MiscellaneousVars[temp4] * 20.0) + 5.0; temp22 = (MiscellaneousVars[temp4] * 40.0) + 10.0; temp23 = MiscellaneousVars[temp4] * 16.67; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 5 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 10 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 16 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 23 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 31 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 2) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - DAMAGE WITH MAGICAL WANDS/STAVES INCREASED BY \cd",f:temp1,s:"%\c-", s:"\nMAGICAL DAMAGE DEALT INCREASED BY \cd",f:temp2,s:"%\c-.", s:"\nMP-REGEN INCREASED BY \cd",f:temp21,s:"%\c- WITH ONE SAPPHIRE WAND SELECTED (INCREASED BY \cd",f:temp22,s:"%\c- WITH TWO).", s:"\nWAND/HERETIC-WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp23,s:"%", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - DAMAGE WITH MAGICAL WANDS/STAVES INCREASED BY \cd",f:temp1,s:"%\c-", s:"\nMAGICAL DAMAGE DEALT INCREASED BY \cd",f:temp2,s:"%\c-.", s:"\nMP-REGEN INCREASED BY \cd",f:temp21,s:"%\c- WITH ONE SAPPHIRE WAND SELECTED (INCREASED BY \cd",f:temp22,s:"%\c- WITH TWO).", s:"\nWAND/HERETIC-WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp23,s:"%", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #3 hudmsgid -= 1; ytemp2 += (HudYRange * 11250 / 100000) * 1.0; // 0.075; perkname = "SOUL MASTERY"; temp4 = 10033; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 10.0; temp2 = MiscellaneousVars[temp4] * 6.25; temp21 = MiscellaneousVars[temp4] * 3.75; temp22 = MiscellaneousVars[temp4] * 12.5; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 5 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 10 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 16 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 23 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 31 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - HELLCORE DAMAGE INCREASED BY \cd",f:temp1,s:"%\c-.", s:"\nHELLCORE HEATING RATIO DECREASED BY \cd",f:temp2,s:"%\c-.", s:"\nHELLCORE OVERHEAT DAMAGE DECREASED BY \cd",f:temp21,s:"%\c-.", s:"\nHELLCORE PROJECTILE SPEED INCREASED BY \cd",f:temp22,s:"%\c-.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - HELLCORE DAMAGE INCREASED BY \cd",f:temp1,s:"%\c-.", s:"\nHELLCORE HEATING RATIO DECREASED BY \cd",f:temp2,s:"%\c-.", s:"\nHELLCORE OVERHEAT DAMAGE DECREASED BY \cd",f:temp21,s:"%\c-.", s:"\nHELLCORE PROJECTILE SPEED INCREASED BY \cd",f:temp22,s:"%\c-.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #4 hudmsgid -= 1; ytemp2 += (HudYRange * 12500 / 100000) * 1.0; // 0.1125; perkname = "MARTIAL ARTS MASTERY"; temp4 = 10035; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 0.80; temp21 = MiscellaneousVars[temp4] * 11.11; temp22 = MiscellaneousVars[temp4] * 16.67; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 8 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 12 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 19 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 31 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 51 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 4) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] == 0) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - STAMINA CONSUMED FROM NON-SCEPTRE MELEE ATTACKS \cd-0%\c-.", s:"\nNON-SCEPTRE MELEE DAMAGE INCREASED BY \cd0%\c-.", s:"\nAOE DAMAGE FROM NON-SCEPTRE MELEE ATTACKS INCREASED BY \cd0%\c-.", s:"\nREDUCES DAMAGE RECEIEVED DURING NON-SCEPTRE MELEE ATTACKS BY \cd0%\c-.", s:"\nPUNCHES/KICKS/UPPERCUTS HAVE A \cd6.25%\c- CHANCE TO \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd0%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd0%\c- FASTER\c-", s:"\nKICKS ARE \cd0%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\nFISTS/GAUNTLETS (UN)SHEATHE SPEED INCREASED BY \cd",f:temp22,s:"%\c-.", s:"\nNON-SCEPTRE MELEE ATTACKS SLOW DOWN TENSION COUNTDOWN TIMER BY \cd0%\c-.", s:"\nCRITICAL HIT RATE INCREASED BY \cd",f:temp1,s:"%\c- WHEN EQUIPPED WITH A NON-SCEPTRE MELEE WEAPON.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } if (MiscellaneousVars[temp4] == 1) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - STAMINA CONSUMED FROM NON-SCEPTRE MELEE ATTACKS \cd-5%\c-.", s:"\nNON-SCEPTRE MELEE DAMAGE INCREASED BY \cd2.5%\c-.", s:"\nAOE DAMAGE FROM NON-SCEPTRE MELEE ATTACKS INCREASED BY \cd5.0%\c-.", s:"\nREDUCES DAMAGE RECEIEVED DURING NON-SCEPTRE MELEE ATTACKS BY \cd2.5%\c-.", s:"\nPUNCHES/KICKS/UPPERCUTS HAVE A \cd12.5%\c- CHANCE TO \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd0%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd27.78%\c- FASTER\c-", s:"\nKICKS ARE \cd0%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\nFISTS/GAUNTLETS (UN)SHEATHE SPEED INCREASED BY \cd",f:temp22,s:"%\c-.", s:"\nNON-SCEPTRE MELEE ATTACKS SLOW DOWN TENSION COUNTDOWN TIMER BY \cd1-2%\c-.", s:"\nCRITICAL HIT RATE INCREASED BY \cd",f:temp1,s:"%\c- WHEN EQUIPPED WITH A NON-SCEPTRE MELEE WEAPON.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } if (MiscellaneousVars[temp4] == 2) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - STAMINA CONSUMED FROM NON-SCEPTRE MELEE ATTACKS \cd-10%\c-.", s:"\nNON-SCEPTRE MELEE DAMAGE INCREASED BY \cd7.5%\c-.", s:"\nAOE DAMAGE FROM NON-SCEPTRE MELEE ATTACKS INCREASED BY \cd15.0%\c-.", s:"\nREDUCES DAMAGE RECEIEVED DURING NON-SCEPTRE MELEE ATTACKS BY \cd6.25%\c-.", s:"\nPUNCHES/KICKS/UPPERCUTS HAVE A \cd25%\c- CHANCE TO \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd30%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd64.28%\c- FASTER\c-", s:"\nKICKS ARE \cd0%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\nFISTS/GAUNTLETS (UN)SHEATHE SPEED INCREASED BY \cd",f:temp22,s:"%\c-.", s:"\nNON-SCEPTRE MELEE ATTACKS SLOW DOWN TENSION COUNTDOWN TIMER BY \cd2-4%\c-.", s:"\nCRITICAL HIT RATE INCREASED BY \cd",f:temp1,s:"%\c- WHEN EQUIPPED WITH A NON-SCEPTRE MELEE WEAPON.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } if (MiscellaneousVars[temp4] == 3) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - STAMINA CONSUMED FROM NON-SCEPTRE MELEE ATTACKS \cd-17.5%\c-.", s:"\nNON-SCEPTRE MELEE DAMAGE INCREASED BY \cd22.5%\c-.", s:"\nAOE DAMAGE FROM NON-SCEPTRE MELEE ATTACKS INCREASED BY \cd45.0%\c-.", s:"\nREDUCES DAMAGE RECEIEVED DURING NON-SCEPTRE MELEE ATTACKS BY \cd15%\c-.", s:"\nPUNCHES/KICKS/UPPERCUTS HAVE A \cd50%\c- CHANCE TO \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd62.5%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd109.09%\c- FASTER\c-", s:"\nKICKS ARE \cd114.28%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\nFISTS/GAUNTLETS (UN)SHEATHE SPEED INCREASED BY \cd",f:temp22,s:"%\c-.", s:"\nNON-SCEPTRE MELEE ATTACKS SLOW DOWN TENSION COUNTDOWN TIMER BY \cd4-8%\c-.", s:"\nCRITICAL HIT RATE INCREASED BY \cd",f:temp1,s:"%\c- WHEN EQUIPPED WITH A NON-SCEPTRE MELEE WEAPON.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } if (MiscellaneousVars[temp4] == 4) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - STAMINA CONSUMED FROM NON-SCEPTRE MELEE ATTACKS \cd-30%\c-.", s:"\nNON-SCEPTRE MELEE DAMAGE INCREASED BY \cd67.5%\c-.", s:"\nAOE DAMAGE FROM NON-SCEPTRE MELEE ATTACKS INCREASED BY \cd135.0%\c-.", s:"\nREDUCES DAMAGE RECEIEVED DURING NON-SCEPTRE MELEE ATTACKS BY \cd25%\c-.", s:"\nPUNCHES/KICKS/UPPERCUTS \cdALWAYS\c- \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd160%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd187.5%\c- FASTER\c-", s:"\nKICKS ARE \cd114.28%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\nFISTS/GAUNTLETS (UN)SHEATHE SPEED INCREASED BY \cd",f:temp22,s:"%\c-.", s:"\nNON-SCEPTRE MELEE ATTACKS SLOW DOWN TENSION COUNTDOWN TIMER BY \cd10-20%\c-.", s:"\nCRITICAL HIT RATE INCREASED BY \cd",f:temp1,s:"%\c- WHEN EQUIPPED WITH A NON-SCEPTRE MELEE WEAPON.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } if (MiscellaneousVars[temp4] >= 5) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - STAMINA CONSUMED FROM NON-SCEPTRE MELEE ATTACKS \cd-60%\c-.", s:"\nNON-SCEPTRE MELEE DAMAGE INCREASED BY \cd202.5%\c-.", s:"\nAOE DAMAGE FROM NON-SCEPTRE MELEE ATTACKS INCREASED BY \cd405.0%\c-.", s:"\nREDUCES DAMAGE RECEIEVED DURING NON-SCEPTRE MELEE ATTACKS BY \cd57.5%\c-.", s:"\nPUNCHES/KICKS/UPPERCUTS \cdALWAYS\c- \cdDEFLECT/DESTROY PROJECTILES\c-.", s:"\nPUNCHES ARE \cd333.33%\c- FASTER\c-", s:"\nUPPERCUTS ARE \cd283.33%\c- FASTER\c-", s:"\nKICKS ARE \cd400%\c- FASTER\c-", s:"\nGENERAL WEAPON (UN)SHEATHE SPEED INCREASED BY \cd",f:temp21,s:"%\c-.", s:"\nFISTS/GAUNTLETS (UN)SHEATHE SPEED INCREASED BY \cd",f:temp22,s:"%\c-.", s:"\nNON-SCEPTRE MELEE ATTACKS SLOW DOWN TENSION COUNTDOWN TIMER BY \cd40-60%\c-.", s:"\nCRITICAL HIT RATE INCREASED BY \cd",f:temp1,s:"%\c- WHEN EQUIPPED WITH A NON-SCEPTRE MELEE WEAPON.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } SetFont("STATAEON"); xtemp3 = (HudXRange * 47500 / 100000) * 1.0; // 0.475; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(s:"A"; HUDMSG_ALPHA, 1902, CR_UNTRANSLATED, xtemp3, ytemp3, baseholdtime, 1.0); SetFont("DQHUDFONTSTATUS"); // DQHUDFONTSTATUS // DQHUDFONTSML // Default Font setting for all menus xtemp3 = (HudXRange * 52500 / 100000) * 1.0; // 0.525; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(d:MiscellaneousVars[25]; HUDMSG_ALPHA, 1901, CR_GOLD, xtemp3, ytemp3, baseholdtime, 1.0); } //******************************************** // Fourth Page - Item Perks //******************************************** if (MenuSystemVars[5] == 3) { SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 8125 / 100000) * 1.0; // 0.038125; HudMessage(s:"Item/Powerup Perks"; HUDMSG_ALPHA, 1903, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid = 1998; // Selection #1 hudmsgid -= 1; SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 = (HudXRange * 0 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 = (HudYRange * 16250 / 100000) * 1.0; // 0.1625; perkname = "MEDICAL PROWESS"; if (CharacterClass == 0 | CharacterClass == 1) perkname = "MEDICAL PROWESS"; if (CharacterClass == 2) perkname = "MEDICINAL PROWESS"; temp4 = 10049; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 12.5; temp2 = 100.0 + (MiscellaneousVars[temp4] * 12.5); temp5 = MiscellaneousVars[temp4] * 6.25; temp6 = 100.0 + (MiscellaneousVars[temp4] * 6.25); temp11 = 5; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 5 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 9 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 14 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 22 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 29 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (CharacterClass == 2) { if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES HEALING FROM HERBS/MAGIC-WATERS BY \cd",f:temp1,s:"%\c- UP TO \cd",f:temp2,s:"%\c-", s:"\nINCREASES HEALING FROM MEDICIAL ITEMS BY \cd",f:temp5,s:"%\c- UP TO \cd",f:temp6,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES HEALING FROM HERBS/MAGIC-WATERS BY \cd",f:temp1,s:"%\c- UP TO \cd",f:temp2,s:"%\c-", s:"\nINCREASES HEALING FROM MEDICIAL ITEMS BY \cd",f:temp5,s:"%\c- UP TO \cd",f:temp6,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } else { if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES HEALING FROM MEDICIAL ITEMS BY \cd",f:temp1,s:"%\c- UP TO \cd",f:temp2,s:"%\c-", s:"\nINCREASES HEALING FROM HERBS/MAGIC-WATERS BY \cd",f:temp5,s:"%\c- UP TO \cd",f:temp6,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INCREASES HEALING FROM MEDICIAL ITEMS BY \cd",f:temp1,s:"%\c- UP TO \cd",f:temp2,s:"%\c-", s:"\nINCREASES HEALING FROM HERBS/MAGIC-WATERS BY \cd",f:temp5,s:"%\c- UP TO \cd",f:temp6,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } // Selection #2 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "POWERUP POWERHOUSE"; temp4 = 10050; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 25.0; temp3 = 0; // Cost for next level. temp11 = 4; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 7 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 16 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 27 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 40 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 2) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - POWERUP ITEMS/ARTIFACTS GIVE \cd+",f:temp1,s:"%\c- MORE DURATION", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - POWERUP ITEMS/ARTIFACTS GIVE \cd+",f:temp1,s:"%\c- MORE DURATION", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #3 hudmsgid -= 1; ytemp2 += (HudYRange * 7500 / 100000) * 1.0; // 0.075; perkname = "PACK MULE"; temp4 = 10059; // MiscellaneousVars[] temp1 = MiscellaneousVars[temp4] * 10.0; temp3 = 0; // Cost for next level. temp11 = 5; // Max Levels if (MiscellaneousVars[temp4] == 0) temp3 = 8 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 15 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 23 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 32 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 42 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INVENTORY & AMMO LIMITS INCREASED BY \cd",f:temp1,s:"%\c-", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - INVENTORY & AMMO LIMITS INCREASED BY \cd",f:temp1,s:"%\c-", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } SetFont("STATAEON"); xtemp3 = (HudXRange * 47500 / 100000) * 1.0; // 0.475; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(s:"A"; HUDMSG_ALPHA, 1902, CR_UNTRANSLATED, xtemp3, ytemp3, baseholdtime, 1.0); SetFont("DQHUDFONTSTATUS"); // DQHUDFONTSTATUS // DQHUDFONTSML // Default Font setting for all menus xtemp3 = (HudXRange * 52500 / 100000) * 1.0; // 0.525; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(d:MiscellaneousVars[25]; HUDMSG_ALPHA, 1901, CR_GOLD, xtemp3, ytemp3, baseholdtime, 1.0); } //******************************************** // Fifth Page - Misc Perks //******************************************** if (MenuSystemVars[5] == 4) { SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 8125 / 100000) * 1.0; // 0.038125; HudMessage(s:"Misc Perks"; HUDMSG_ALPHA, 1903, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); if (CharacterClass == 0 | CharacterClass == 1) // Deggaris & Illucia Both (3) { hudmsgid = 1998; // Selection #1 hudmsgid -= 1; SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 = (HudXRange * 0 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 = (HudYRange * 15000 / 100000) * 1.0 + 0.1; // -0.15; perkname = "MORTAL HIT BLAST WAVE"; temp4 = 10041; // MiscellaneousVars[] temp11 = 1; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 15 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd50%\c- CHANCE TO BLAST AWAY NEARBY ENEMIES & PROJECTILES AFTER SURVIVING A MORTAL HIT", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd50%\c- CHANCE TO BLAST AWAY NEARBY ENEMIES & PROJECTILES AFTER SURVIVING A MORTAL HIT", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #2 hudmsgid -= 1; ytemp2 += (HudYRange * 11250 / 100000) * 1.0; // 0.1125; perkname = "MORTAL HIT MANA RECOVERY"; temp4 = 10039; // MiscellaneousVars[] temp11 = 1; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 15 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 2) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd66.6%\c- CHANCE TO RECOVER \cd25%\c- OF MAXIMUM MP [UP TO \cd125%\c- OF MAX] AFTER SURVIVING A MORTAL HIT", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd66.6%\c- CHANCE TO RECOVER \cd25%\c- OF MAXIMUM MP [UP TO \cd125%\c- OF MAX] AFTER SURVIVING A MORTAL HIT", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #3 hudmsgid -= 1; ytemp2 += (HudYRange * 11250 / 100000) * 1.0; // 0.1125; if (CharacterClass == 0) // Deggaris Only (1) { perkname = "MORTAL HIT DEATH RAGE"; temp4 = 10043; // MiscellaneousVars[] temp1 = 0.0; if (MiscellaneousVars[temp4] == 1) temp1 = 12.5; if (MiscellaneousVars[temp4] == 2) temp1 = 20.0; if (MiscellaneousVars[temp4] == 3) temp1 = 25.0; temp11 = 3; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 20 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 30 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 50 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] == 0) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - CHANCE FOR INVULNERABILITY AND DAMAGE BOOST AFTER SURVIVING A MORTAL HIT", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } if (MiscellaneousVars[temp4] == 1) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd12.5%\c- CHANCE FOR INVULNERABILITY AND DAMAGE BOOST AFTER SURVIVING A MORTAL HIT", s:"\n\cf\cd-50%\c- STAMINA CONSUMPTION FOR MELEE ATTACKS WHILE IN EFFECT.", s:"\n\cf180 SECOND COOLDOWN TIME.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } if (MiscellaneousVars[temp4] == 2) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd20%\c- CHANCE FOR INVULNERABILITY AND DAMAGE BOOST AFTER SURVIVING A MORTAL HIT", s:"\n\cf\cd-75%\c- STAMINA CONSUMPTION FOR MELEE ATTACKS WHILE IN EFFECT.", s:"\n\cf150 SECOND COOLDOWN TIME.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } if (MiscellaneousVars[temp4] == 3) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd25%\c- CHANCE FOR INVULNERABILITY AND DAMAGE BOOST AFTER SURVIVING A MORTAL HIT", s:"\n\cf\cd-87.5%\c- STAMINA CONSUMPTION FOR MELEE ATTACKS WHILE IN EFFECT.", s:"\n\cf120 SECOND COOLDOWN TIME.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } if (CharacterClass == 1) // Illucia Only (1) { perkname = "MORTAL HIT BLAST WAVE EX"; temp4 = 10042; // MiscellaneousVars[] temp5 = 10041; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 1) perkdescript1 = " \cd[REQUIRES \ccMORTAL HIT BLAST WAVE \cv(1)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccMORTAL HIT BLAST WAVE \cv(1)\cg]"; } temp11 = 1; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 35 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+25%\c- TO BLAST AWAY NEARBY ENEMIES & PROJECTILES AFTER SURVIVING A MORTAL HIT", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+25%\c- TO BLAST AWAY NEARBY ENEMIES & PROJECTILES AFTER SURVIVING A MORTAL HIT", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } // Selection #4 hudmsgid -= 1; ytemp2 += (HudYRange * 11250 / 100000) * 1.0; // 0.1125; perkname = "MORTAL HIT PSYCHE UP"; temp4 = 10037; // MiscellaneousVars[] temp1 = 0; if (MiscellaneousVars[temp4] == 1) temp1 = 5; if (MiscellaneousVars[temp4] == 2) temp1 = 20; if (MiscellaneousVars[temp4] == 3) temp1 = 50; if (MiscellaneousVars[temp4] == 4) temp1 = 100; if (MiscellaneousVars[temp4] == 5) temp1 = 250; if (MiscellaneousVars[temp4] == 6) temp1 = 500; if (MiscellaneousVars[temp4] == 7) temp1 = 1000; temp11 = 7; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 9; if (MiscellaneousVars[temp4] == 1) temp3 = 12; if (MiscellaneousVars[temp4] == 2) temp3 = 16; if (MiscellaneousVars[temp4] == 3) temp3 = 20; if (MiscellaneousVars[temp4] == 4) temp3 = 28; if (MiscellaneousVars[temp4] == 5) temp3 = 39; if (MiscellaneousVars[temp4] == 6) temp3 = 57; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 4) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] == 0) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - WILL AFFECT TENSION AFTER SURVIVING A MORTAL HIT", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd40%\c- CHANCE TO HIT \c[Purple]'",d:temp1,s:"'\c- TENSION AFTER SURVIVING A MORTAL HIT", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd40%\c- CHANCE TO HIT \c[Purple]'",d:temp1,s:"'\c- TENSION AFTER SURVIVING A MORTAL HIT", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #5 hudmsgid -= 1; ytemp2 += (HudYRange * 11250 / 100000) * 1.0; // 0.1125; perkname = "CLEARED OF MIND"; temp4 = 10055; // MiscellaneousVars[] temp1 = 0; if (MiscellaneousVars[temp4] == 1) temp1 = 4; if (MiscellaneousVars[temp4] == 2) temp1 = 9; if (MiscellaneousVars[temp4] == 3) temp1 = 15; if (MiscellaneousVars[temp4] == 4) temp1 = 22; if (MiscellaneousVars[temp4] == 5) temp1 = 30; temp7 = 0; if (MiscellaneousVars[temp4] == 1) temp7 = 2.5; if (MiscellaneousVars[temp4] == 2) temp7 = 5.0; if (MiscellaneousVars[temp4] == 3) temp7 = 7.5; if (MiscellaneousVars[temp4] == 4) temp7 = 10.0; if (MiscellaneousVars[temp4] == 5) temp7 = 12.5; temp8 = 0; if (MiscellaneousVars[temp4] == 1) temp8 = 2; if (MiscellaneousVars[temp4] == 2) temp8 = 5; if (MiscellaneousVars[temp4] == 3) temp8 = 7; if (MiscellaneousVars[temp4] == 4) temp8 = 11; if (MiscellaneousVars[temp4] == 5) temp8 = 13; temp9 = 0; if (MiscellaneousVars[temp4] == 1) temp9 = 3.75; if (MiscellaneousVars[temp4] == 2) temp9 = 7.5; if (MiscellaneousVars[temp4] == 3) temp9 = 11.25; if (MiscellaneousVars[temp4] == 4) temp9 = 15.0; if (MiscellaneousVars[temp4] == 5) temp9 = 18.75; temp21 = 0; if (MiscellaneousVars[temp4] == 1) temp21 = 2.0; if (MiscellaneousVars[temp4] == 2) temp21 = 4.5; if (MiscellaneousVars[temp4] == 3) temp21 = 7.5; if (MiscellaneousVars[temp4] == 4) temp21 = 11.0; if (MiscellaneousVars[temp4] == 5) temp21 = 15.0; temp22 = MiscellaneousVars[temp4] * 10.0; temp11 = 5; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 8 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 12 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 16 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 20 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 24 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 5) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",d:temp1,s:"%\c- MORE LEVEL EXP/EXPERIESSENCE-GAIN", s:"\n\c-\cd+",f:temp7,s:"%\c- HP/MP/STAMINA REGENERATION SPEED.", s:"\n\c-\cd-",d:temp8,s:"%\c- MANA COST FOR SPELLS.", s:"\n\c-\cd+",d:temp1,s:"%\c- GENERAL WEAPON (UN)SHEATHE SPEED.", s:"\n\c-\cd+",f:temp21,s:"%\c- MP/MANA FROM MANA CUBES.", s:"\n\c-\cd+",f:temp22,s:"%\c- DAMAGE ON CRITICAL HITS.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",d:temp1,s:"%\c- MORE LEVEL EXP/EXPERIESSENCE-GAIN", s:"\n\c-\cd+",f:temp7,s:"%\c- HP/MP/STAMINA REGENERATION SPEED.", s:"\n\c-\cd-",d:temp8,s:"%\c- MANA COST FOR SPELLS.", s:"\n\c-\cd+",d:temp1,s:"%\c- GENERAL WEAPON (UN)SHEATHE SPEED.", s:"\n\c-\cd+",f:temp21,s:"%\c- MP/MANA FROM MANA CUBES.", s:"\n\c-\cd+",f:temp22,s:"%\c- DAMAGE ON CRITICAL HITS.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #6 hudmsgid -= 1; ytemp2 += (HudYRange * 13750 / 100000) * 1.0; // 0.1000; perkname = "VILLAIN KILLER"; temp4 = 10057; // MiscellaneousVars[] temp7 = 0; if (MiscellaneousVars[temp4] == 1) temp7 = 20.0; if (MiscellaneousVars[temp4] == 2) temp7 = 40.0; if (MiscellaneousVars[temp4] == 3) temp7 = 60.0; if (MiscellaneousVars[temp4] == 4) temp7 = 80.0; if (MiscellaneousVars[temp4] == 5) temp7 = 100.0; temp9 = 0; if (MiscellaneousVars[temp4] == 1) temp9 = 25.0; if (MiscellaneousVars[temp4] == 2) temp9 = 50.0; if (MiscellaneousVars[temp4] == 3) temp9 = 75.0; if (MiscellaneousVars[temp4] == 4) temp9 = 100.0; if (MiscellaneousVars[temp4] == 5) temp9 = 125.0; temp1 = 0; if (MiscellaneousVars[temp4] == 1) temp1 = 30.0; if (MiscellaneousVars[temp4] == 2) temp1 = 60.0; if (MiscellaneousVars[temp4] == 3) temp1 = 90.0; if (MiscellaneousVars[temp4] == 4) temp1 = 120.0; if (MiscellaneousVars[temp4] == 5) temp1 = 150.0; temp8 = 0; if (MiscellaneousVars[temp4] == 1) temp8 = 40.0; if (MiscellaneousVars[temp4] == 2) temp8 = 80.0; if (MiscellaneousVars[temp4] == 3) temp8 = 120.0; if (MiscellaneousVars[temp4] == 4) temp8 = 160.0; if (MiscellaneousVars[temp4] == 5) temp8 = 200.0; temp10 = MiscellaneousVars[temp4] * 10; temp11 = 5; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 20 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 25 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 30 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 35 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 40 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 6) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] == 0) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - WILL AFFECT DAMAGE DEALT TO 'LEGENDARY' ENEMIES.", s:"\n\c-REDUCES DAMAGE IGNORING EFFECT OF LEGENDARIES' ATTACKS BY \cd",d:temp10,s:"%", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp7,s:"-",f:temp9,s:"%\c- DAMAGE DEALT TO 'LEGENDARY' MONSTERS", s:"\n\c-\cd+",f:temp1,s:"-",f:temp8,s:"%\c- DAMAGE DEALT TO 'LEGENDARY' BOSSES", s:"\n\c-REDUCES DAMAGE IGNORING EFFECT OF LEGENDARIES' ATTACKS BY \cd",d:temp10,s:"%", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp7,s:"-",f:temp9,s:"%\c- DAMAGE DEALT TO 'LEGENDARY' MONSTERS", s:"\n\c-\cd+",f:temp1,s:"-",f:temp8,s:"%\c- DAMAGE DEALT TO 'LEGENDARY' BOSSES", s:"\n\c-REDUCES DAMAGE IGNORING EFFECT OF LEGENDARIES' ATTACKS BY \cd",d:temp10,s:"%", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } else if (CharacterClass == 2) // Flora (3) { hudmsgid = 1998; // Selection #1 hudmsgid -= 1; SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 = (HudXRange * 0 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 = (HudYRange * 15000 / 100000) * 1.0 + 0.1; // -0.15; perkname = "MORTAL HIT MANA RECOVERY"; temp4 = 10039; // MiscellaneousVars[] temp11 = 1; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 15 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd66.6%\c- CHANCE TO RECOVER \cd25%\c- OF MAXIMUM MP [UP TO \cd125%\c- OF MAX] AFTER SURVIVING A MORTAL HIT", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd66.6%\c- CHANCE TO RECOVER \cd25%\c- OF MAXIMUM MP [UP TO \cd125%\c- OF MAX] AFTER SURVIVING A MORTAL HIT", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #2 hudmsgid -= 1; ytemp2 += (HudYRange * 11250 / 100000) * 1.0; // 0.1125; perkname = "MORTAL HIT MANA RECOVERY EX"; temp4 = 10040; // MiscellaneousVars[] temp5 = 10039; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 1) perkdescript1 = " \cd[REQUIRES \ccMORTAL HIT MANA RECOVERY \cv(1)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccMORTAL HIT MANA RECOVERY \cv(1)\cg]"; } temp11 = 1; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 35 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 2) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+33.4%\c- CHANCE TO RECOVER \cd50%\c- OF MAXIMUM MP [UP TO \cd175%\c- OF MAX] AFTER SURVIVING A MORTAL HIT", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+33.4%\c- CHANCE TO RECOVER \cd50%\c- OF MAXIMUM MP [UP TO \cd175%\c- OF MAX] AFTER SURVIVING A MORTAL HIT", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #3 hudmsgid -= 1; ytemp2 += (HudYRange * 11250 / 100000) * 1.0; // 0.1125; perkname = "MORTAL HIT PSYCHE UP"; temp4 = 10037; // MiscellaneousVars[] temp1 = 0; if (MiscellaneousVars[temp4] == 1) temp1 = 5; if (MiscellaneousVars[temp4] == 2) temp1 = 20; if (MiscellaneousVars[temp4] == 3) temp1 = 50; if (MiscellaneousVars[temp4] == 4) temp1 = 100; if (MiscellaneousVars[temp4] == 5) temp1 = 250; if (MiscellaneousVars[temp4] == 6) temp1 = 500; if (MiscellaneousVars[temp4] == 7) temp1 = 1000; temp11 = 7; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 12 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 15 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 19 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 23 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 31 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 5) temp3 = 42 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 6) temp3 = 60 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] == 0) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - WILL AFFECT TENSION AFTER SURVIVING A MORTAL HIT", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd75%\c- CHANCE TO HIT \c[Purple]'",d:temp1,s:"'\c- TENSION AFTER SURVIVING A MORTAL HIT", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd75%\c- CHANCE TO HIT \c[Purple]'",d:temp1,s:"'\c- TENSION AFTER SURVIVING A MORTAL HIT", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #4 hudmsgid -= 1; ytemp2 += (HudYRange * 11250 / 100000) * 1.0; // 0.1125; perkname = "CLEARED OF MIND"; temp4 = 10055; // MiscellaneousVars[] temp1 = 0; if (MiscellaneousVars[temp4] == 1) temp1 = 4; if (MiscellaneousVars[temp4] == 2) temp1 = 9; if (MiscellaneousVars[temp4] == 3) temp1 = 15; if (MiscellaneousVars[temp4] == 4) temp1 = 22; if (MiscellaneousVars[temp4] == 5) temp1 = 30; temp7 = 0; if (MiscellaneousVars[temp4] == 1) temp7 = 2.5; if (MiscellaneousVars[temp4] == 2) temp7 = 5.0; if (MiscellaneousVars[temp4] == 3) temp7 = 7.5; if (MiscellaneousVars[temp4] == 4) temp7 = 10.0; if (MiscellaneousVars[temp4] == 5) temp7 = 12.5; temp8 = 0; if (MiscellaneousVars[temp4] == 1) temp8 = 2; if (MiscellaneousVars[temp4] == 2) temp8 = 5; if (MiscellaneousVars[temp4] == 3) temp8 = 7; if (MiscellaneousVars[temp4] == 4) temp8 = 11; if (MiscellaneousVars[temp4] == 5) temp8 = 13; temp9 = 0; if (MiscellaneousVars[temp4] == 1) temp9 = 7.5; if (MiscellaneousVars[temp4] == 2) temp9 = 15.0; if (MiscellaneousVars[temp4] == 3) temp9 = 22.5; if (MiscellaneousVars[temp4] == 4) temp9 = 30.0; if (MiscellaneousVars[temp4] == 5) temp9 = 37.5; temp21 = 0; if (MiscellaneousVars[temp4] == 1) temp21 = 2.0; if (MiscellaneousVars[temp4] == 2) temp21 = 4.5; if (MiscellaneousVars[temp4] == 3) temp21 = 7.5; if (MiscellaneousVars[temp4] == 4) temp21 = 11.0; if (MiscellaneousVars[temp4] == 5) temp21 = 15.0; temp22 = MiscellaneousVars[temp4] * 10.0; temp11 = 5; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 8 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 12 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 16 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 20 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 24 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 4) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",d:temp1,s:"%\c- MORE LEVEL EXP/EXPERIESSENCE-GAIN.", s:"\n\c-\cd+",f:temp7,s:"%\c- HP/MP/STAMINA REGENERATION SPEED.", s:"\n\c-\cd-",d:temp8,s:"%\c- MANA COST FOR SPELLS.", s:"\n\c-\cd+",f:temp9,s:"%\c- HELLCORE COOLDOWN SPEED.", s:"\n\c-\cd+",d:temp1,s:"%\c- GENERAL WEAPON (UN)SHEATHE SPEED.", s:"\n\c-\cd+",f:temp21,s:"%\c- MP/MANA FROM MANA CUBES.", s:"\n\c-\cd+",f:temp22,s:"%\c- DAMAGE ON CRITICAL HITS.", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",d:temp1,s:"%\c- MORE LEVEL EXP/EXPERIESSENCE-GAIN.", s:"\n\c-\cd+",f:temp7,s:"%\c- HP/MP/STAMINA REGENERATION SPEED.", s:"\n\c-\cd-",d:temp8,s:"%\c- MANA COST FOR SPELLS.", s:"\n\c-\cd+",f:temp9,s:"%\c- HELLCORE COOLDOWN SPEED.", s:"\n\c-\cd+",d:temp1,s:"%\c- GENERAL WEAPON (UN)SHEATHE SPEED.", s:"\n\c-\cd+",f:temp21,s:"%\c- MP/MANA FROM MANA CUBES.", s:"\n\c-\cd+",f:temp22,s:"%\c- DAMAGE ON CRITICAL HITS.", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #5 hudmsgid -= 1; ytemp2 += (HudYRange * 13750 / 100000) * 1.0; // 0.1000; perkname = "VILLAIN KILLER"; temp4 = 10057; // MiscellaneousVars[] temp7 = 0; if (MiscellaneousVars[temp4] == 1) temp7 = 20.0; if (MiscellaneousVars[temp4] == 2) temp7 = 40.0; if (MiscellaneousVars[temp4] == 3) temp7 = 60.0; if (MiscellaneousVars[temp4] == 4) temp7 = 80.0; if (MiscellaneousVars[temp4] == 5) temp7 = 100.0; temp9 = 0; if (MiscellaneousVars[temp4] == 1) temp9 = 25.0; if (MiscellaneousVars[temp4] == 2) temp9 = 50.0; if (MiscellaneousVars[temp4] == 3) temp9 = 75.0; if (MiscellaneousVars[temp4] == 4) temp9 = 100.0; if (MiscellaneousVars[temp4] == 5) temp9 = 125.0; temp1 = 0; if (MiscellaneousVars[temp4] == 1) temp1 = 30.0; if (MiscellaneousVars[temp4] == 2) temp1 = 60.0; if (MiscellaneousVars[temp4] == 3) temp1 = 90.0; if (MiscellaneousVars[temp4] == 4) temp1 = 120.0; if (MiscellaneousVars[temp4] == 5) temp1 = 150.0; temp8 = 0; if (MiscellaneousVars[temp4] == 1) temp8 = 40.0; if (MiscellaneousVars[temp4] == 2) temp8 = 80.0; if (MiscellaneousVars[temp4] == 3) temp8 = 120.0; if (MiscellaneousVars[temp4] == 4) temp8 = 160.0; if (MiscellaneousVars[temp4] == 5) temp8 = 200.0; temp10 = MiscellaneousVars[temp4] * 10; temp11 = 5; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 20 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 25 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 2) temp3 = 30 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 3) temp3 = 35 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 4) temp3 = 40 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 5) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] == 0) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - WILL AFFECT DAMAGE DEALT TO 'LEGENDARY' ENEMIES.", s:"\n\c-REDUCES DAMAGE IGNORING EFFECT OF LEGENDARIES' ATTACKS BY \cd",d:temp10,s:"%", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] > 0 && MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp7,s:"-",f:temp9,s:"%\c- DAMAGE DEALT TO 'LEGENDARY' MONSTERS", s:"\n\c-\cd+",f:temp1,s:"-",f:temp8,s:"%\c- DAMAGE DEALT TO 'LEGENDARY' BOSSES", s:"\n\c-REDUCES DAMAGE IGNORING EFFECT OF LEGENDARIES' ATTACKS BY \cd",d:temp10,s:"%", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp7,s:"-",f:temp9,s:"%\c- DAMAGE DEALT TO 'LEGENDARY' MONSTERS", s:"\n\c-\cd+",f:temp1,s:"-",f:temp8,s:"%\c- DAMAGE DEALT TO 'LEGENDARY' BOSSES", s:"\n\c-REDUCES DAMAGE IGNORING EFFECT OF LEGENDARIES' ATTACKS BY \cd",d:temp10,s:"%", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } // Selection #6 hudmsgid -= 1; ytemp2 += (HudYRange * 10000 / 100000) * 1.0; // 0.1000; perkname = "VILLAIN KILLER EX"; temp4 = 10058; // MiscellaneousVars[] temp5 = 10057; temp7 = 0; if (MiscellaneousVars[temp4] == 1) temp7 = 50.0; if (MiscellaneousVars[temp4] == 2) temp7 = 100.0; temp9 = 0; if (MiscellaneousVars[temp4] == 1) temp9 = 62.5; if (MiscellaneousVars[temp4] == 2) temp9 = 125.0; temp1 = 0; if (MiscellaneousVars[temp4] == 1) temp1 = 75.0; if (MiscellaneousVars[temp4] == 2) temp1 = 150.0; temp8 = 0; if (MiscellaneousVars[temp4] == 1) temp8 = 100.0; if (MiscellaneousVars[temp4] == 2) temp8 = 200.0; temp10 = 25 * MiscellaneousVars[temp4]; perkdescript1 = ""; if (MiscellaneousVars[temp4] == 0) { if (MiscellaneousVars[temp5] >= 2) perkdescript1 = " \cd[REQUIRES \ccVILLAIN KILLER \cv(2+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccVILLAIN KILLER \cv(2+)\cg]"; } if (MiscellaneousVars[temp4] == 1) { if (MiscellaneousVars[temp5] >= 4) perkdescript1 = " \cd[REQUIRES \ccVILLAIN KILLER \cv(4+)\cd]"; else perkdescript1 = " \cg[REQUIRES \ccVILLAIN KILLER \cv(4+)\cg]"; } temp11 = 2; // Max Levels temp3 = 0; // Cost for next level. if (MiscellaneousVars[temp4] == 0) temp3 = 40 * MiscellaneousVars[280] / 100; if (MiscellaneousVars[temp4] == 1) temp3 = 70 * MiscellaneousVars[280] / 100; if (temp3 < perksmincost && MiscellaneousVars[temp4] < temp11) temp3 = perksmincost; if (MenuSystemVars[1] == 6) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } if (MiscellaneousVars[temp4] == 0) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - WILL AFFECT DAMAGE DEALT TO 'LEGENDARY' ENEMIES.", s:"\n\c-REDUCES DAMAGE IGNORING EFFECT OF LEGENDARIES' ATTACKS BY \cd",d:temp10,s:"%", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[temp4] > 0 && MiscellaneousVars[temp4] < temp11) { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp7,s:"-",f:temp9,s:"%\c- EXTRA DAMAGE DEALT TO 'LEGENDARY' MONSTERS", s:"\n\c-\cd+",f:temp1,s:"-",f:temp8,s:"%\c- EXTRA DAMAGE DEALT TO 'LEGENDARY' BOSSES", s:"\n\c-REDUCES DAMAGE IGNORING EFFECT OF LEGENDARIES' ATTACKS BY \cd",d:temp10,s:"%", s:"\n\cfCOST FOR NEXT LEVEL: ",d:temp3,s:" AEON PTS",s:perkdescript1,s:"\cf [\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { HudMessage(s:perkname,s:" (\cn",d:MiscellaneousVars[temp4],s:"\c-/\cn",d:temp11,s:"\c-) - \cd+",f:temp7,s:"-",f:temp9,s:"%\c- EXTRA DAMAGE DEALT TO 'LEGENDARY' MONSTERS", s:"\n\c-\cd+",f:temp1,s:"-",f:temp8,s:"%\c- EXTRA DAMAGE DEALT TO 'LEGENDARY' BOSSES", s:"\n\c-REDUCES DAMAGE IGNORING EFFECT OF LEGENDARIES' ATTACKS BY \cd",d:temp10,s:"%", s:"\n\cf[\cn",d:PerkPtsPerPerk[temp4],s:"\cf PTS PLACED INTO THIS PERK]"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } } SetFont("STATAEON"); xtemp3 = (HudXRange * 47500 / 100000) * 1.0; // 0.475; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(s:"A"; HUDMSG_ALPHA, 1902, CR_UNTRANSLATED, xtemp3, ytemp3, baseholdtime, 1.0); SetFont("DQHUDFONTSTATUS"); // DQHUDFONTSTATUS // DQHUDFONTSML // Default Font setting for all menus xtemp3 = (HudXRange * 52500 / 100000) * 1.0; // 0.525; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(d:MiscellaneousVars[25]; HUDMSG_ALPHA, 1901, CR_GOLD, xtemp3, ytemp3, baseholdtime, 1.0); } //******************************************** // Fifth Page - Grand Mastery Perks //******************************************** if (MenuSystemVars[5] == 5) { SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 8125 / 100000) * 1.0; // 0.038125; HudMessage(s:"GRAND-MASTERY PERKS"; HUDMSG_ALPHA, 1903, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid = 1998; // Selection #1 hudmsgid -= 1; SetFont("DVDSSMLFONT"); // DQHUDFONTSTATUS xtemp2 = (HudXRange * 0 / 100000) * 1.0 + 0.1; // -0.10; ytemp2 = (HudYRange * 15000 / 100000) * 1.0 + 0.1; // -0.15; if (MiscellaneousVars[11001] == 2) { perkname = "\c[Green]HIGHER LEARNING [LEVEL 2]\c- -"; perkdescript1 = ""; if (CharacterClass == 2) perkdescript1 = "\n \cd+30%\c- SCEPTRE EXP GAINED."; perkdescript2 = "\n \cd+45%\c- EXP GAINED."; if (CharacterClass == 2) perkdescript2 = "\n \cd+30%\c- EXP GAINED."; perkdescript3 = "\n \cd+30%\c- COMBO TIMER GAINED PER KILL."; perkdescript4 = "\n \cd+50%\c- AEON POINTS ACCQUIRED ON LEVEL UP."; if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:perkname, s:perkdescript1, s:perkdescript2, s:perkdescript3, s:perkdescript4; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else if (MiscellaneousVars[11001] == 1) { perkname = "\c[Green]HIGHER LEARNING\c- -"; perkdescript1 = ""; if (CharacterClass == 2) perkdescript1 = "\n \cd+15%\c- SCEPTRE EXP GAINED."; perkdescript2 = "\n \cd+22.5%\c- EXP GAINED."; if (CharacterClass == 2) perkdescript2 = "\n \cd+15%\c- EXP GAINED."; perkdescript3 = "\n \cd+15%\c- COMBO TIMER GAINED PER KILL."; perkdescript4 = "\n \cd+25%\c- AEON POINTS ACCQUIRED ON LEVEL UP."; if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:perkname, s:perkdescript1, s:perkdescript2, s:perkdescript3, s:perkdescript4; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } else { if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:"?????? ????????? - [YOU MUST MAX OUT AT LEAST 5 PERKS WITH 3 OR MORE LEVELS.] (",d:MiscellaneousVars[40],s:" / 5 PERKS MAXED OUT)"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp2, ytemp2, baseholdtime, 1.0); } SetFont("STATAEON"); xtemp3 = (HudXRange * 47500 / 100000) * 1.0; // 0.475; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(s:"A"; HUDMSG_ALPHA, 1902, CR_UNTRANSLATED, xtemp3, ytemp3, baseholdtime, 1.0); SetFont("DQHUDFONTSTATUS"); // DQHUDFONTSTATUS // DQHUDFONTSML // Default Font setting for all menus xtemp3 = (HudXRange * 52500 / 100000) * 1.0; // 0.525; ytemp3 = (HudYRange * 97500 / 100000) * 1.0; // 0.975; HudMessage(d:MiscellaneousVars[25]; HUDMSG_ALPHA, 1901, CR_GOLD, xtemp3, ytemp3, baseholdtime, 1.0); } } //****************** //****************** //*** Codex Menu *** //****************** //****************** if (MenuSystemVars[4] == 4) { hudmsgid = 1998; SetFont("DVDSBIGFONT"); // DQHUDFONTSTATUS HudXRange = 800; HudYRange = 600; SetHudSize(HudXRange,HudYRange,0); xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 3125 / 100000) * 1.0; // 0.03125; HudMessage(s:"CODEX"; HUDMSG_ALPHA, hudmsgid, CR_WHITE, xtemp1, ytemp1, baseholdtime, 1.0); //***************** //** MAIN PAGE //***************** if (MenuSystemVars[5] == 0) { SetFont("DVDSBIGFONT"); // DQHUDFONTSTATUS HudXRange = 760; HudYRange = 570; SetHudSize(HudXRange,HudYRange,0); hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 = (HudYRange * 37500 / 100000) * 1.0; // 0.35; if (MenuSystemVars[1] == 1) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:"WEAPONS"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; // 0.45; if (MenuSystemVars[1] == 2) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:"ITEMS"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; // 0.45; if (MenuSystemVars[1] == 3) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:"POWERUPS/ARTIFACTS"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; // 0.45; if (MenuSystemVars[1] == 4) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:"MONSTERS"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; // 0.45; if (MenuSystemVars[1] == 5) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:"CHARACTERS"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid -= 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; // 0.5; ytemp1 += (HudYRange * 5000 / 100000) * 1.0; // 0.45; if (MenuSystemVars[1] == 6) { textcolor = CR_GOLD; } else { textcolor = CR_WHITE; } HudMessage(s:"LOCATIONS/ENVIRONMENTS"; HUDMSG_ALPHA, hudmsgid, textcolor, xtemp1, ytemp1, baseholdtime, 1.0); } } hudmsgid = 1050; // Menu Legend [ALL PAGES] :V HudXRange = 864; HudYRange = 648; SetHudSize(HudXRange,HudYRange,0); SetFont("DVDSSMLFONT"); hudmsgid += 1; xtemp1 = (HudXRange * 5000 / 100000) * 1.0 + 0.1; ytemp1 = (HudYRange * 96250 / 100000) * 1.0; HudMessage(s:"\cd",k:"+use",s:"\c- = \cxSELECT\c-"; HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid += 1; xtemp1 = (HudXRange * 5000 / 100000) * 1.0 + 0.1; ytemp1 = (HudYRange * 98750 / 100000) * 1.0; HudMessage(s:"\cd",k:"+forward",s:"\c-/\cd",k:"+moveup",s:"\c-/\cd",k:"+lookup",s:"\c- = \cxSELECTION UP\c-",s:"\n", s:"\cd",k:"+back",s:"\c-/\cd",k:"+movedown",s:"\c-/\cd",k:"+lookdown",s:"\c- = \cxSELECTION DOWN\c-",s:"\n"; HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid += 1; xtemp1 = (HudXRange * 95000 / 100000) * 1.0 + 0.2; ytemp1 = (HudYRange * 96250 / 100000) * 1.0; HudMessage(s:"\cd",k:"pukename MENUKEY",s:"\c- = \cxEXIT MENUS\c-"; HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); hudmsgid += 1; xtemp1 = (HudXRange * 95000 / 100000) * 1.0 + 0.2; ytemp1 = (HudYRange * 98750 / 100000) * 1.0; HudMessage(s:"\cd",k:"+left",s:"\c-/\cd",k:"+moveleft",s:"\c- = \cxSHIFT PAGE LEFT\c-",s:"\n", s:"\cd",k:"+right",s:"\c-/\cd",k:"+moveright",s:"\c- = \cxSHIFT PAGE RIGHT\c-",s:"\n"; HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); if (MenuSystemVars[4] == 3 && MenuSystemVars[1] != 0) { hudmsgid += 1; xtemp1 = (HudXRange * 50000 / 100000) * 1.0; ytemp1 = (HudYRange * 94000 / 100000) * 1.0; HudMessage(s:"\cd",k:"pukename AeonPtsResetPerks",s:"\c- = \cxRESPEC HIGHLIGHTED PERK\c-",s:"\n"; HUDMSG_ALPHA, hudmsgid, CR_GOLD, xtemp1, ytemp1, baseholdtime, 1.0); } SetFont("DVDSSMLFONT"); SetHudSize(0,0,0); /* if (GetCVar("dvdsdebug_ingamemenudisplay") > 0) { PrintBold( s:"[0] Main Menu = ON",s:"\n", s:"\n", s:"[1] Main Selection = ", d:MenuSystemVars[1],s:" \n", s:"[2] Secondary Selection = ", d:MenuSystemVars[2],s:" \n", s:"[3] Tritary Selection = ", d:MenuSystemVars[3],s:" \n", s:"[4] Menu Type = ", d:MenuSystemVars[4],s:" \n", s:"[5] SubMenu Type = ", d:MenuSystemVars[5],s:" \n", s:"[6] SubSubMenu Type = ", d:MenuSystemVars[6],s:" \n", s:"\n", s:"[10001] Use Tic Timer = ", d:MenuSystemVars[10001],s:" \n", s:"[10002] Up Tic Timer = ", d:MenuSystemVars[10002],s:" \n", s:"[10003] Down Tic Timer = ", d:MenuSystemVars[10003],s:" \n", s:"[10004] Left Tic Timer = ", d:MenuSystemVars[10004],s:" \n", s:"[10005] Right Tic Timer = ", d:MenuSystemVars[10005],s:" \n", s:"[10006] Back Tic Timer = ", d:MenuSystemVars[10006],s:" \n", s:"" ); } */ } Delay(1); Restart; } // ************************ // ** Check Player Stuff ** // ************************ script "CENTRALSCRIPTOFEVERYTHING" ENTER { Player1TID = 1001; // //Calculate Stamina for HUDs if (MiscellaneousVars[22] != 0) MiscellaneousVars[41] = MiscellaneousVars[8]; // Ruinous Shield HUD Display Calculations if (MiscellaneousVars[269] != 0) { RuinousShieldPercent = (MiscellaneousVars[202] * 100) / MiscellaneousVars[269]; RuinousShieldPercentF = (MiscellaneousVars[202] * 1000) / MiscellaneousVars[269]; } int RuinousShieldWhole = RuinousShieldPercentF / 10; int RuinousShieldDecimal = RuinousShieldPercentF % 10; if (GetCVar("dvdsdebug_shielduncursedisplay") > 0 && MiscellaneousVars[25112] > 0) { PrintBold(s:"Ruinous Shield % [OldHUD]: ",d:RuinousShieldPercent,s:"\n", s:"Ruinous Shield % [NewHUD]: ",d:RuinousShieldPercentF,s:"\n", s:"Ruinous Shield % [NewHUD-Whole]: ",d:RuinousShieldWhole,s:"\n", s:"Ruinous Shield % [NewHUD-Decimal]: ",d:RuinousShieldDecimal,s:"\n"); } //********************* //*Death Music/Effects* //********************* int deathmusic = GetCVar("dvds_deathmusic"); int DY1 = MaxHealthTrue * -1; // [12] is for the death time counter, to fade the screen to blackish-red when the player dies. if (MiscellaneousVars[25001] < 1) // If "Dead" { MiscellaneousVars[12] += 1; MiscellaneousVars[13] = 6; int randomdeathtic = random(1,11); // Game Over Music if (deathmusic != 0) { if (MiscellaneousVars[12] == 1) SetMusic("",0); if (deathmusic == 1 && MiscellaneousVars[12] == 8) SetMusic("RoReDead",0); if (deathmusic == 2 && MiscellaneousVars[12] == 35) SetMusic("GaOvYe",0); if (deathmusic == 3 && MiscellaneousVars[12] == 35) SetMusic("DRQUDEAD",0); if (deathmusic == 4 && MiscellaneousVars[12] == 4) SetMusic("MiRiBuTi",0); if (deathmusic == 5 && MiscellaneousVars[12] == 14) SetMusic("ToDiYoAD",0); if (deathmusic == 6 && MiscellaneousVars[12] == 4) SetMusic("MGS2GMOV",0); if (deathmusic == 7 && MiscellaneousVars[12] == 35) SetMusic("ShGYaheh",0); if (deathmusic == 8 && MiscellaneousVars[12] == 4) SetMusic("AH3GMOVR",0); if (deathmusic == 9 && MiscellaneousVars[12] == 50) SetMusic("JURPRKP2",0); if (deathmusic == 10 && MiscellaneousVars[12] == 51) SetMusic("CUYOENTH",0); if (deathmusic == 1 && MiscellaneousVars[12] >= 2220) SetMusic("",0); if (deathmusic == 2 && MiscellaneousVars[12] >= 367) SetMusic("",0); if (deathmusic == 3 && MiscellaneousVars[12] >= 255) SetMusic("",0); if (deathmusic == 4 && MiscellaneousVars[12] >= 290) SetMusic("",0); if (deathmusic == 5 && MiscellaneousVars[12] >= 3970) SetMusic("",0); if (deathmusic == 6 && MiscellaneousVars[12] == 284) SetMusic("",0); if (deathmusic == 7 && MiscellaneousVars[12] == 1365) SetMusic("",0); if (deathmusic == 8 && MiscellaneousVars[12] == 350) SetMusic("",0); if (deathmusic == 9 && MiscellaneousVars[12] == 273) SetMusic("",0); if (deathmusic == 10 && MiscellaneousVars[12] == 327) SetMusic("",0); } // "YOU DIED!" msg [HudMessage id 2] :V if (MiscellaneousVars[12] >= 4) { MiscellaneousVars[179] += 1; if (MiscellaneousVars[179] >= 20) MiscellaneousVars[179] = 1; SetHudSize(1280, 960, 0); if (MiscellaneousVars[179] >= 1 && MiscellaneousVars[179] <= 4) Setfont("UDED1"); if (MiscellaneousVars[179] >= 5 && MiscellaneousVars[179] <= 8) Setfont("UDED2"); if (MiscellaneousVars[179] >= 9 && MiscellaneousVars[179] <= 12) Setfont("UDED3"); if (MiscellaneousVars[179] >= 13 && MiscellaneousVars[179] <= 16) Setfont("UDED4"); if (MiscellaneousVars[179] >= 17 && MiscellaneousVars[179] <= 20) Setfont("UDED5"); HudmessageBold(s:"A"; 0, 2, CR_DARKRED, 640.0, 480.0, 0.005, 1.0, 1.0); SetHudSize(0,0,0); SetFont("DVDSSMLFONT"); } else { HudmessageBold(s:""; 0, 2, CR_DARKRED, 640.0, 480.0, 0.005, 0.01); MiscellaneousVars[179] = 0; } // Fading Death Heart Beats, if not gibbed if (MiscellaneousVars[25001] > DY1) { if (CharacterClass == 2) { if (MiscellaneousVars[12] == 54) localambientsound("heartb2", 120); // +20 if (MiscellaneousVars[12] == 56) localambientsound("heartb2", 120); // +20 if (MiscellaneousVars[12] == 126) localambientsound("heartb2", 103); // +22 if (MiscellaneousVars[12] == 128) localambientsound("heartb2", 103); // +22 if (MiscellaneousVars[12] == 204) localambientsound("heartb2", 86); // +26 if (MiscellaneousVars[12] == 206) localambientsound("heartb2", 86); // +26 if (MiscellaneousVars[12] == 300) localambientsound("heartb2", 69); // +32 if (MiscellaneousVars[12] == 302) localambientsound("heartb2", 69); // +32 if (MiscellaneousVars[12] == 345) { if (MiscellaneousVars[25002] < 1) MiscellaneousVars[25002] = 1; FadeRange(16, 0, 0, 0.0, 16, 0, 0, 1.0, 12.0); } if (MiscellaneousVars[12] == 420) localambientsound("heartb2", 52); // +40 if (MiscellaneousVars[12] == 422) localambientsound("heartb2", 52); // +40 if (MiscellaneousVars[12] == 564) localambientsound("heartb2", 35); // +62 if (MiscellaneousVars[12] == 566) localambientsound("heartb2", 35); // +50 if (MiscellaneousVars[12] == 750) localambientsound("heartb2", 18); // +62 if (MiscellaneousVars[12] == 752) localambientsound("heartb2", 18); // +62 if (MiscellaneousVars[12] == 780) FadeRange(16, 0, 0, 1.0, 255, 0, 0, 1.0, 3.0); // Intended to show a "Game Over" Euqse Screen } else { if (MiscellaneousVars[12] == 18) localambientsound("heartb2", 120); // +20 if (MiscellaneousVars[12] == 20) localambientsound("heartb2", 120); // +20 if (MiscellaneousVars[12] == 42) localambientsound("heartb2", 103); // +22 if (MiscellaneousVars[12] == 44) localambientsound("heartb2", 103); // +22 if (MiscellaneousVars[12] == 68) localambientsound("heartb2", 86); // +26 if (MiscellaneousVars[12] == 70) localambientsound("heartb2", 86); // +26 if (MiscellaneousVars[12] == 100) localambientsound("heartb2", 69); // +32 if (MiscellaneousVars[12] == 102) localambientsound("heartb2", 69); // +32 if (MiscellaneousVars[12] == 115) { if (MiscellaneousVars[25002] < 1) MiscellaneousVars[25002] = 1; FadeRange(16, 0, 0, 0.0, 16, 0, 0, 1.0, 4.0); } if (MiscellaneousVars[12] == 140) localambientsound("heartb2", 52); // +40 if (MiscellaneousVars[12] == 142) localambientsound("heartb2", 52); // +40 if (MiscellaneousVars[12] == 188) localambientsound("heartb2", 35); // +62 if (MiscellaneousVars[12] == 190) localambientsound("heartb2", 35); // +50 if (MiscellaneousVars[12] == 250) localambientsound("heartb2", 18); // +62 if (MiscellaneousVars[12] == 252) localambientsound("heartb2", 18); // +62 if (MiscellaneousVars[12] == 260) FadeRange(16, 0, 0, 1.0, 255, 0, 0, 1.0, 1.0); // Intended to show a "Game Over" Euqse Screen } } else // If Gibbed { if (MiscellaneousVars[12] == 4) { if (MiscellaneousVars[25002] < 1) MiscellaneousVars[25002] = 1; FadeRange(0, 0, 0, 0.0, 255, 0, 0, 1.0, 0.8); } } } else // If Alive { if (MiscellaneousVars[13] > 0) { FadeTo(0, 0, 0, 0.0, 0.0001); MiscellaneousVars[13] -= 1; } HudmessageBold(s:""; 0, 2, CR_DARKRED, 640.0, 480.0, 0.005, 0.01); if (MiscellaneousVars[25002] != 0) MiscellaneousVars[25002] = 0; if (deathmusic != 0) { if (MiscellaneousVars[12] > 0) SetMusic("*", 0); } MiscellaneousVars[12] = 0; } // Sets/Unsets a special flag to check for a "pistol reset" like in resurgance if (MiscellaneousVars[25001] <= 0) { if (MiscellaneousVars[149] != 1) MiscellaneousVars[149] = 1; } else { if (MiscellaneousVars[149] != 0) MiscellaneousVars[149] = 0; } // END OF THE SCRIPT :U Delay(1); Restart; } // Seperate the MAP-specific special effects from "CENTRALSCRIPTOFEVERYTHING" into its own script script "SPECIALMAPEVENTS" ENTER { int SpawnFixedX, SpawnFixedY, SpawnFixedZ, KilledMonsterFactor, Randomizer1; if (ModType == 0) terminate; // Don't bother rerunning script if not playing DV1 or DV2 :V //*************************** //***Check DVII Game Flags*** //*************************** if (CharacterClass == 2 && ModType == 2) { if (GetLevelInfo(LEVELINFO_TOTAL_MONSTERS) != 0) KilledMonsterFactor = GetLevelInfo(LEVELINFO_KILLED_MONSTERS) * 1000 / GetLevelInfo(LEVELINFO_TOTAL_MONSTERS); // Checks for all secrets found in order to spawn Safe Tea Shoes in MAP01 if (SpecialGameFlags[0] == 0 && GetLevelInfo(LEVELINFO_LEVELNUM) == 1201 && GetLevelInfo(LEVELINFO_TOTAL_SECRETS) == GetLevelInfo(LEVELINFO_FOUND_SECRETS)) { PrintBold(s:"A SPECIAL ITEM HAS SPAWNED SOMEWHERE IN THE AREA!"); AmbientSound("foundhiddenitem",127); SpawnFixedX = 1744 * 65536; SpawnFixedY = -724 * 65536; SpawnFixedZ = 16 * 65536; SpawnForced("SafeTeaShoes",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); SpecialGameFlags[0] = 1; } // Checks for all secrets found in order to spawn Pearly Corset in MAP02 if (SpecialGameFlags[1] == 0 && GetLevelInfo(LEVELINFO_LEVELNUM) == 1202 && GetLevelInfo(LEVELINFO_TOTAL_SECRETS) == GetLevelInfo(LEVELINFO_FOUND_SECRETS)) { PrintBold(s:"A SPECIAL ITEM HAS SPAWNED SOMEWHERE IN THE AREA!"); AmbientSound("foundhiddenitem",127); SpawnFixedX = 1440 * 65536; SpawnFixedY = 160 * 65536; SpawnFixedZ = 112 * 65536; SpawnForced("PearlyCorset",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); SpecialGameFlags[1] = 1; } // Checks for all secrets found in order to spawn Water Flying Dress in MAP03 if (SpecialGameFlags[2] == 0 && GetLevelInfo(LEVELINFO_LEVELNUM) == 1203 && GetLevelInfo(LEVELINFO_TOTAL_SECRETS) == GetLevelInfo(LEVELINFO_FOUND_SECRETS)) { PrintBold(s:"A SPECIAL ITEM HAS SPAWNED SOMEWHERE IN THE AREA!"); AmbientSound("foundhiddenitem",127); SpawnFixedX = -6592 * 65536; SpawnFixedY = 4416 * 65536; SpawnFixedZ = 24 * 65536; SpawnForced("WaterFlyingDress",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); SpecialGameFlags[2] = 1; } // Checks for all secrets found in order to spawn Evenstar Necklace in MAP04 if (SpecialGameFlags[3] == 0 && GetLevelInfo(LEVELINFO_LEVELNUM) == 1204 && GetLevelInfo(LEVELINFO_TOTAL_SECRETS) == GetLevelInfo(LEVELINFO_FOUND_SECRETS)) { PrintBold(s:"A SPECIAL ITEM HAS SPAWNED SOMEWHERE IN THE AREA!"); AmbientSound("foundhiddenitem",127); Randomizer1 = random(1,4); if (Randomizer1 == 1) { SpawnFixedX = -2752 * 65536; SpawnFixedY = 3872 * 65536; SpawnFixedZ = 16 * 65536; } // -2752,3872,0 coords if (Randomizer1 == 2) { SpawnFixedX = -2560 * 65536; SpawnFixedY = 4064 * 65536; SpawnFixedZ = 16 * 65536; } // -2560,4064,0 coords if (Randomizer1 == 3) { SpawnFixedX = -2752 * 65536; SpawnFixedY = 4256 * 65536; SpawnFixedZ = 16 * 65536; } // -2752,4256,0 coords if (Randomizer1 == 4) { SpawnFixedX = -2944 * 65536; SpawnFixedY = 4064 * 65536; SpawnFixedZ = 16 * 65536; } // -2944,4064,0 coords SpawnForced("EvenstarNecklace",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); SpecialGameFlags[3] = 1; } // Checks for all secrets found in order to spawn Cloak of Evasion in MAP05 if (SpecialGameFlags[4] == 0 && GetLevelInfo(LEVELINFO_LEVELNUM) == 1205 && GetLevelInfo(LEVELINFO_TOTAL_SECRETS) == GetLevelInfo(LEVELINFO_FOUND_SECRETS)) { PrintBold(s:"A SPECIAL ITEM HAS SPAWNED SOMEWHERE IN THE AREA!"); AmbientSound("foundhiddenitem",127); SpawnFixedX = 1216 * 65536; SpawnFixedY = -464 * 65536; SpawnFixedZ = 1416 * 65536; // 1216,-464,1400 coords SpawnForced("CloakOfEvasion",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); SpecialGameFlags[4] = 1; } // Checks for all secrets found in order to spawn Falcon Knife Earrings in MAP05S if (SpecialGameFlags[5] == 0 && GetLevelInfo(LEVELINFO_LEVELNUM) == 1206 && KilledMonsterFactor >= 950) { PrintBold(s:"A SPECIAL ITEM HAS SPAWNED SOMEWHERE IN THE AREA!"); AmbientSound("foundhiddenitem",127); SpawnFixedX = -4160 * 65536; SpawnFixedY = -2396 * 65536; SpawnFixedZ = 16 * 65536; // -4160,-2396,0 coords SpawnForced("FalconKnifeEarrings",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); SpecialGameFlags[5] = 1; } // Checks for all secrets found in order to spawn Anubis Cufflinks in MAP06 if (SpecialGameFlags[6] == 0 && GetLevelInfo(LEVELINFO_LEVELNUM) == 1207 && GetLevelInfo(LEVELINFO_TOTAL_SECRETS) == GetLevelInfo(LEVELINFO_FOUND_SECRETS)) { PrintBold(s:"A SPECIAL ITEM HAS SPAWNED SOMEWHERE IN THE AREA!"); AmbientSound("foundhiddenitem",127); SpawnFixedX = -128 * 65536; SpawnFixedY = -1312 * 65536; SpawnFixedZ = -48 * 65536; // -128,-1312,-64 coords SpawnForced("AnubisCufflinks",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); SpecialGameFlags[6] = 1; } // Checks for all secrets found in order to spawn Kissa's Armored Brassiare in MAP07 if (SpecialGameFlags[7] == 0 && GetLevelInfo(LEVELINFO_LEVELNUM) == 1208 && GetLevelInfo(LEVELINFO_TOTAL_SECRETS) == GetLevelInfo(LEVELINFO_FOUND_SECRETS)) { PrintBold(s:"A SPECIAL ITEM HAS SPAWNED SOMEWHERE IN THE AREA!"); AmbientSound("foundhiddenitem",127); SpawnFixedX = -544 * 65536; SpawnFixedY = -224 * 65536; SpawnFixedZ = 272 * 65536; // -544,-224,256 coords SpawnForced("KissaBra",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); SpecialGameFlags[7] = 1; } // Checks for all secrets found in order to spawn Ruinous/Divine Shield in MAP08 if (SpecialGameFlags[8] == 0 && GetLevelInfo(LEVELINFO_LEVELNUM) == 1209 && GetLevelInfo(LEVELINFO_TOTAL_SECRETS) == GetLevelInfo(LEVELINFO_FOUND_SECRETS)) { PrintBold(s:"A SPECIAL ITEM HAS SPAWNED SOMEWHERE IN THE AREA!"); AmbientSound("foundhiddenitem",127); SpawnFixedX = -6784 * 65536; SpawnFixedY = 12320 * 65536; SpawnFixedZ = 16 * 65536; // -6784,12320,0 coords if (random(1,256) < 5) { SpawnForced("DivineShield",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); } else { SpawnForced("RuinousShield",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); } SpecialGameFlags[8] = 1; } // Checks for all secrets found in order to spawn Balrog's Ring in MAP09 if (SpecialGameFlags[9] == 0 && GetLevelInfo(LEVELINFO_LEVELNUM) == 1210 && ThingCountName("FlyingBalrog",0) < 1 && GetLevelInfo(LEVELINFO_TOTAL_SECRETS) == GetLevelInfo(LEVELINFO_FOUND_SECRETS)) { PrintBold(s:"A SPECIAL ITEM HAS SPAWNED SOMEWHERE IN THE AREA!"); AmbientSound("foundhiddenitem",127); SpawnFixedX = 512 * 65536; SpawnFixedY = 2240 * 65536; SpawnFixedZ = 16 * 65536; // 512,2240,0 coords SpawnForced("BalrogRing",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); SpecialGameFlags[9] = 1; } // Checks for all secrets found in order to spawn Dove's Ribbon in MAP10 if (SpecialGameFlags[10] == 0 && GetLevelInfo(LEVELINFO_LEVELNUM) == 1211 && KilledMonsterFactor >= 750) { PrintBold(s:"A SPECIAL ITEM HAS SPAWNED SOMEWHERE IN THE AREA!"); AmbientSound("foundhiddenitem",127); SpawnFixedX = 8048 * 65536; SpawnFixedY = 2272 * 65536; SpawnFixedZ = 256 * 65536; // 8048,2272,240 coords SpawnForced("DoveRibbon",SpawnFixedX,SpawnFixedY,SpawnFixedZ,0,0); SpecialGameFlags[10] = 1; } } //*************************************** //**Scripted Events for Individual Maps** //*************************************** int EventRand; if (ModType == 2) // DVII { if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1204) // MAP04 - Minas Morgul { // [1401] = MAP04, Damage inflicted by Helltoxins in Minas Morgul GameScriptEvents[1401] = 42; if (TrueGameSkill <= SKILL_VERY_EASY) GameScriptEvents[1401] = random(15,17); if (TrueGameSkill == SKILL_EASY) GameScriptEvents[1401] = random(16,20); if (TrueGameSkill == SKILL_NORMAL) GameScriptEvents[1401] = random(17,23); if (TrueGameSkill == SKILL_HARD) GameScriptEvents[1401] = random(18,26); if (TrueGameSkill == SKILL_VERY_HARD) GameScriptEvents[1401] = random(21,31); if (TrueGameSkill == SKILL_EXTREME) GameScriptEvents[1401] = random(23,33); if (TrueGameSkill == SKILL_HORRIBLE) GameScriptEvents[1401] = random(25,36); if (TrueGameSkill == SKILL_IMPOSSIBLE) GameScriptEvents[1401] = random(28,39); if (TrueGameSkill >= SKILL_OMEGA) GameScriptEvents[1401] = random(31,43); // [1402] = MAP04, Max Damage timer for Helltoxins in Minas Morgul GameScriptEvents[1402] = 42; if (TrueGameSkill <= SKILL_VERY_EASY) GameScriptEvents[1402] = 35; if (TrueGameSkill == SKILL_EASY) GameScriptEvents[1402] = 32; if (TrueGameSkill == SKILL_NORMAL) GameScriptEvents[1402] = 29; if (TrueGameSkill == SKILL_HARD) GameScriptEvents[1402] = 26; if (TrueGameSkill == SKILL_VERY_HARD) GameScriptEvents[1402] = 21; if (TrueGameSkill == SKILL_EXTREME) GameScriptEvents[1402] = 20; if (TrueGameSkill == SKILL_HORRIBLE) GameScriptEvents[1402] = 18; if (TrueGameSkill == SKILL_IMPOSSIBLE) GameScriptEvents[1402] = 17; if (TrueGameSkill >= SKILL_OMEGA) GameScriptEvents[1402] = 15; // [1403] = MAP04, Checks for the player having Iron Feet powerup or Flora's Safe Passage spells in effect to determine exposure to Hell-Toxins. GameScriptEvents[1403] = 0; if (MiscellaneousVars[25032] > 0) GameScriptEvents[1403] += 1; // [1404] = MAP04, Current HellToxen Interval [seperate timer] GameScriptEvents[1404] += 1; if (GameScriptEvents[1404] >= GameScriptEvents[1402]) { GameScriptEvents[1404] -= GameScriptEvents[1402]; if (GameScriptEvents[1403] == 0) { EventRand = random(1,100); if (CharacterClass == 2) { if (EventRand < 15) GameScriptEvents[1401] = GameScriptEvents[1401] * 14 / 8; if (EventRand > 86) GameScriptEvents[1401] = GameScriptEvents[1401] * 5 / 8; } if (CharacterClass == 1) { if (EventRand < 11) GameScriptEvents[1401] = GameScriptEvents[1401] * 14 / 8; if (EventRand > 90) GameScriptEvents[1401] = GameScriptEvents[1401] * 5 / 8; } else { if (EventRand < 13) GameScriptEvents[1401] = GameScriptEvents[1401] * 14 / 8; if (EventRand > 88) GameScriptEvents[1401] = GameScriptEvents[1401] * 5 / 8; } Thing_Damage(0,GameScriptEvents[1401],13); } } } if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1205) // MAP05 - Eagle's Nest { // [1401] = MAP05, Damage inflicted by Helltoxins in Eagle's Nest GameScriptEvents[1401] = 42; if (TrueGameSkill <= SKILL_VERY_EASY) GameScriptEvents[1401] = random(2,4); if (TrueGameSkill == SKILL_EASY) GameScriptEvents[1401] = random(3,5); if (TrueGameSkill == SKILL_NORMAL) GameScriptEvents[1401] = random(4,6); if (TrueGameSkill == SKILL_HARD) GameScriptEvents[1401] = random(5,7); if (TrueGameSkill == SKILL_VERY_HARD) GameScriptEvents[1401] = random(6,8); if (TrueGameSkill == SKILL_EXTREME) GameScriptEvents[1401] = random(6,9); if (TrueGameSkill == SKILL_HORRIBLE) GameScriptEvents[1401] = random(7,9); if (TrueGameSkill == SKILL_IMPOSSIBLE) GameScriptEvents[1401] = random(7,10); if (TrueGameSkill >= SKILL_OMEGA) GameScriptEvents[1401] = random(8,10); // [1402] = MAP05, Max Damage timer for Helltoxins in Eagle's Nest GameScriptEvents[1402] = 42; if (TrueGameSkill <= SKILL_VERY_EASY) GameScriptEvents[1402] = 35; if (TrueGameSkill == SKILL_EASY) GameScriptEvents[1402] = 32; if (TrueGameSkill == SKILL_NORMAL) GameScriptEvents[1402] = 29; if (TrueGameSkill == SKILL_HARD) GameScriptEvents[1402] = 26; if (TrueGameSkill == SKILL_VERY_HARD) GameScriptEvents[1402] = 21; if (TrueGameSkill == SKILL_EXTREME) GameScriptEvents[1402] = 20; if (TrueGameSkill == SKILL_HORRIBLE) GameScriptEvents[1402] = 18; if (TrueGameSkill == SKILL_IMPOSSIBLE) GameScriptEvents[1402] = 17; if (TrueGameSkill >= SKILL_OMEGA) GameScriptEvents[1402] = 15; // [1403] = MAP05, Checks for the player having Iron Feet powerup or Flora's Safe Passage spells in effect to determine exposure to Hell-Toxins. GameScriptEvents[1403] = 0; if (MiscellaneousVars[25032] > 0) GameScriptEvents[1403] += 1; SpawnFixedX = GetActorX(0) >> 16; SpawnFixedY = GetActorY(0) >> 16; SpawnFixedZ = GetActorZ(0) >> 16; // [1404] = MAP05, Current HellToxen Interval [seperate timer] GameScriptEvents[1404] += 1; if (GameScriptEvents[1404] >= GameScriptEvents[1402]) { GameScriptEvents[1404] -= GameScriptEvents[1402]; if (GameScriptEvents[1403] == 0) { EventRand = random(1,100); if (CharacterClass == 2) { if (EventRand < 15) GameScriptEvents[1401] = GameScriptEvents[1401] * 14 / 8; if (EventRand > 86) GameScriptEvents[1401] = GameScriptEvents[1401] * 5 / 8; } if (CharacterClass == 1) { if (EventRand < 11) GameScriptEvents[1401] = GameScriptEvents[1401] * 14 / 8; if (EventRand > 90) GameScriptEvents[1401] = GameScriptEvents[1401] * 5 / 8; } else { if (EventRand < 13) GameScriptEvents[1401] = GameScriptEvents[1401] * 14 / 8; if (EventRand > 88) GameScriptEvents[1401] = GameScriptEvents[1401] * 5 / 8; } // Upper Left = -9216, 11776 // Lower Right = 14336, -11776 // Chasm Bottom = -5000 if (SpawnFixedZ < 0) // Negative Z Vels { if (SpawnFixedZ > -1001) { EventRand = 10; GameScriptEvents[1401] = GameScriptEvents[1401] * 4 / 3; } if (SpawnFixedZ > -2001 && SpawnFixedZ < -1000) { EventRand = 16; GameScriptEvents[1401] = GameScriptEvents[1401] * 5 / 3; } if (SpawnFixedZ > -3001 && SpawnFixedZ < -2000) { EventRand = 23; GameScriptEvents[1401] = GameScriptEvents[1401] * 6 / 3; } if (SpawnFixedZ > -4001 && SpawnFixedZ < -3000) { EventRand = 31; GameScriptEvents[1401] = GameScriptEvents[1401] * 7 / 3; } if (SpawnFixedZ < -4000) { EventRand = 40; GameScriptEvents[1401] = GameScriptEvents[1401] * 8 / 3; } } else // Positive Z Vels { if (SpawnFixedZ > -1 && SpawnFixedZ < 1000) { EventRand = 5; } if (SpawnFixedZ > 999 && SpawnFixedZ < 2000) { EventRand = 4; } if (SpawnFixedZ > 1999 && SpawnFixedZ < 3000) { EventRand = 3; GameScriptEvents[1401] = GameScriptEvents[1401] * 2 / 3; } if (SpawnFixedZ > 2999 && SpawnFixedZ < 4000) { EventRand = 2; GameScriptEvents[1401] = GameScriptEvents[1401] * 2 / 3; } if (SpawnFixedZ > 3999 && SpawnFixedZ < 5000) { EventRand = 1; GameScriptEvents[1401] = GameScriptEvents[1401] * 1 / 3; } if (SpawnFixedZ > 4999) { EventRand = 0; GameScriptEvents[1401] = GameScriptEvents[1401] * 0 / 3; } } if (SpawnFixedX > -9217 && SpawnFixedX < 14337 && SpawnFixedY > -11777 && SpawnFixedY < 11777 && random(1,100) <= EventRand) { Thing_Damage(0,GameScriptEvents[1401],13); } } } } if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1209) // MAP08 - Unholy Cathedrel { if (GameScriptEvents[1801] == 0) { GameScriptEvents[1801] += 1; } } /* if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1210) // MAP09 - You Shall Not Pass! { if (GameScriptEvents[1801] == 0) { GameScriptEvents[1801] += 1; } } if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1211) // MAP10 - Hell's Vendetta { if (GameScriptEvents[1801] == 0) { GameScriptEvents[1801] += 1; } } if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1212) // MAP10B - attedneV s'lleH { if (GameScriptEvents[1801] == 0) { GameScriptEvents[1801] += 1; } } */ } if (ModType != 0) { Delay(1); Restart; } } // script: Red Tunnel Vision/Heartbeat Effect when badly injured [HudMessage id 4] script "TunnelVisionControl" ENTER { int LowHealth, CriticalHealth; CriticalHealth = MaxHealthTrue / 10; SetHudSize(640, 480, 0); if (GetActorProperty(0, APROP_HEALTH) > 0) { if (GetActorProperty(0, APROP_HEALTH) <= CriticalHealth && GetActorProperty(0, APROP_HEALTH) > 0) { Setfont("M_INJ"); Hudmessage(s:"A"; HUDMSG_FADEINOUT, 4, CR_WHITE, 320.0, 240.0, 0.0, 0.5, 0.5); localambientsound("heartb2", 116); delay(5); if (GetActorProperty(0, APROP_HEALTH) > CriticalHealth) { Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } delay(5); if (GetActorProperty(0, APROP_HEALTH) > CriticalHealth) { Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } delay(5); if (GetActorProperty(0, APROP_HEALTH) > CriticalHealth) { Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } if (CharacterClass != 2) localambientsound("heartb2", 116); } delay(5); if (GetActorProperty(0, APROP_HEALTH) > CriticalHealth) { Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } delay(5); if (GetActorProperty(0, APROP_HEALTH) > CriticalHealth) { Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } delay(5); if (GetActorProperty(0, APROP_HEALTH) > CriticalHealth) { Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } delay(5); if (GetActorProperty(0, APROP_HEALTH) > CriticalHealth) { Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } delay(5); if (GetActorProperty(0, APROP_HEALTH) > CriticalHealth) { Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } if (CharacterClass == 2) { delay(5); if (GetActorProperty(0, APROP_HEALTH) > CriticalHealth) { Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } } restart; } else // Dead - show death overlays { Setfont("M_INJ2"); Hudmessage(s:"A"; HUDMSG_FADEINOUT, 3, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); Hudmessage(s:"A"; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); delay(13); if (GetActorProperty(0, APROP_HEALTH) > 0) { Hudmessage(s:""; HUDMSG_FADEINOUT, 3, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } delay(13); if (GetActorProperty(0, APROP_HEALTH) > 0) { Hudmessage(s:""; HUDMSG_FADEINOUT, 3, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } delay(13); if (GetActorProperty(0, APROP_HEALTH) > 0) { Hudmessage(s:""; HUDMSG_FADEINOUT, 3, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } delay(13); if (GetActorProperty(0, APROP_HEALTH) > 0) { Hudmessage(s:""; HUDMSG_FADEINOUT, 3, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } delay(13); if (GetActorProperty(0, APROP_HEALTH) > 0) { Hudmessage(s:""; HUDMSG_FADEINOUT, 3, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); Hudmessage(s:""; 0, 4, CR_WHITE, 320.0, 240.0, 0.0, 1.0, 1.0); restart; } restart; } } // Overall Aeon Point Handling script "AeonPointKey" (int type) { int AeonIncrease = 1; int AeonPtChecker = 1; int buttons = GetPlayerInput(0, INPUT_BUTTONS); int test; if (MiscellaneousVars[31] > 511 && MiscellaneousVars[32] > 511 && MiscellaneousVars[33] > 511 && MiscellaneousVars[34] > 511 && MiscellaneousVars[35] > 511 && MiscellaneousVars[36] > 511) terminate; // Move Aeon Point Cursor DOWN if (type == 0) { if (MiscellaneousVars[25] > 0 && PlayerLevel >= MiscellaneousVars[197]) { if (MiscellaneousVars[24] == 0) { MiscellaneousVars[24] = 5; } else if (MiscellaneousVars[24] == 5) { MiscellaneousVars[24] = 2; } else if (MiscellaneousVars[24] == 2) { MiscellaneousVars[24] = 4; } else if (MiscellaneousVars[24] == 4) { MiscellaneousVars[24] = 6; } else if (MiscellaneousVars[24] == 6) { MiscellaneousVars[24] = 1; } else if (MiscellaneousVars[24] == 1) { MiscellaneousVars[24] = 3; } else if (MiscellaneousVars[24] == 3) { MiscellaneousVars[24] = 0; } } else { if (MiscellaneousVars[24] != 0) MiscellaneousVars[24] = 0; } } // Move Aeon Point Cursor UP if (type == 1) { if (MiscellaneousVars[25] > 0 && PlayerLevel >= MiscellaneousVars[197]) { if (MiscellaneousVars[24] == 0) { MiscellaneousVars[24] = 3; } else if (MiscellaneousVars[24] == 3) { MiscellaneousVars[24] = 1; } else if (MiscellaneousVars[24] == 1) { MiscellaneousVars[24] = 6; } else if (MiscellaneousVars[24] == 6) { MiscellaneousVars[24] = 4; } else if (MiscellaneousVars[24] == 4) { MiscellaneousVars[24] = 2; } else if (MiscellaneousVars[24] == 2) { MiscellaneousVars[24] = 5; } else if (MiscellaneousVars[24] == 5) { MiscellaneousVars[24] = 0; } } else { if (MiscellaneousVars[24] != 0) MiscellaneousVars[24] = 0; } } // Use an Aeon Point if (type == 2) { AeonPtChecker = 1; if (buttons & BT_RELOAD) AeonPtChecker *= 2; if (buttons & BT_ZOOM) AeonPtChecker *= 5; if (buttons & BT_SPEED) AeonPtChecker *= 10; AeonIncrease *= AeonPtChecker; if (MiscellaneousVars[25] >= AeonPtChecker && PlayerLevel >= MiscellaneousVars[197]) { if (MiscellaneousVars[24] == 1) { if (MiscellaneousVars[31] < 512) { MiscellaneousVars[31] += AeonIncrease; MiscellaneousVars[631] += AeonIncrease; MiscellaneousVars[25] -= AeonPtChecker; MiscellaneousVars[43] += AeonPtChecker; } else MiscellaneousVars[24] = 0; } // Agility if (MiscellaneousVars[24] == 2) { if (MiscellaneousVars[32] < 512) { MiscellaneousVars[32] += AeonIncrease; MiscellaneousVars[632] += AeonIncrease; MiscellaneousVars[25] -= AeonPtChecker; MiscellaneousVars[43] += AeonPtChecker; } else MiscellaneousVars[24] = 0; } // Defense if (MiscellaneousVars[24] == 3) { if (MiscellaneousVars[33] < 512) { MiscellaneousVars[33] += AeonIncrease; MiscellaneousVars[633] += AeonIncrease; MiscellaneousVars[25] -= AeonPtChecker; MiscellaneousVars[43] += AeonPtChecker; } else MiscellaneousVars[24] = 0; } // Deftness if (MiscellaneousVars[24] == 4) { if (MiscellaneousVars[34] < 512) { MiscellaneousVars[34] += AeonIncrease; MiscellaneousVars[634] += AeonIncrease; MiscellaneousVars[25] -= AeonPtChecker; MiscellaneousVars[43] += AeonPtChecker; } else MiscellaneousVars[24] = 0; } // Sorcery if (MiscellaneousVars[24] == 5) { if (MiscellaneousVars[35] < 512) { MiscellaneousVars[35] += AeonIncrease; MiscellaneousVars[635] += AeonIncrease; MiscellaneousVars[25] -= AeonPtChecker; MiscellaneousVars[43] += AeonPtChecker; } else MiscellaneousVars[24] = 0; } // Strength if (MiscellaneousVars[24] == 6) { if (MiscellaneousVars[36] < 512) { MiscellaneousVars[36] += AeonIncrease; MiscellaneousVars[636] += AeonIncrease; MiscellaneousVars[25] -= AeonPtChecker; MiscellaneousVars[43] += AeonPtChecker; } else MiscellaneousVars[24] = 0; } // Therapeusis if (MiscellaneousVars[31] > 512) { test = MiscellaneousVars[31] - 512; MiscellaneousVars[31] = 512; MiscellaneousVars[631] -= test; } if (MiscellaneousVars[32] > 512) { test = MiscellaneousVars[32] - 512; MiscellaneousVars[32] = 512; MiscellaneousVars[632] -= test; } if (MiscellaneousVars[33] > 512) { test = MiscellaneousVars[33] - 512; MiscellaneousVars[33] = 512; MiscellaneousVars[633] -= test; } if (MiscellaneousVars[34] > 512) { test = MiscellaneousVars[34] - 512; MiscellaneousVars[34] = 512; MiscellaneousVars[634] -= test; } if (MiscellaneousVars[35] > 512) { test = MiscellaneousVars[35] - 512; MiscellaneousVars[35] = 512; MiscellaneousVars[635] -= test; } if (MiscellaneousVars[36] > 512) { test = MiscellaneousVars[36] - 512; MiscellaneousVars[36] = 512; MiscellaneousVars[636] -= test; } if (PlayerLevel < MiscellaneousVars[197]) MiscellaneousVars[24] = 0; if (MiscellaneousVars[25] < AeonPtChecker) MiscellaneousVars[24] = 0; } else { MiscellaneousVars[25201]++; // Plays "inv_fail" } } } script "AeonPtsResetPerks" (void) { MiscellaneousVars[25033]++; } script "AeonPtsResetStats" (void) { MiscellaneousVars[25034]++; } // Damage Indicators function int pow (int x, int n) { int y = 1; while (n-- > 0) y *= x; return y; } function int GetDigit(int Num, int Digit) { return (Num / pow(10, Digit)) % 10 ; } // DEBUG: Used for testing coordinate/alignments on specific "HudMessage" usages in-game. script "TestHudAlign" (int X, int Y, int X2, int Y2) { X *= 1.0; Y *= 1.0; X2 *= 0.1; Y2 *= 0.1; MiscellaneousVars[74] = X + X2; MiscellaneousVars[75] = Y + Y2; Print(f:X,s:" ",f:Y,s:" ",f:X2,s:" ",f:Y2); } // Test Script for Toggling pages for armor display lists script "ChangeArmorPage" (int Page) { MiscellaneousVars[55] += Page; } // Show Armor Stats script "ShowArmorStats" ENTER { /* HudMessage IDs: 901 - Main List for Armor Display Menu 902 - Top Line for Armor Display Menu 903 - Armor Icon 904 - Background Tint for Menus/Armor-Display */ int misc1, misc2, misc3, misc4, misc5; str ArmorString1, ArmorString2, ArmorString3, ArmorString4, ArmorString5, ArmorString6, ArmorString7, ArmorString8, ArmorString9, ArmorString10, ArmorString11, ArmorString12, ArmorString13, ArmorString14, ArmorString15, ArmorString16, ArmorString17, ArmorString18, ArmorString19, ArmorString20; str DivineShieldString1, DivineShieldString2; int HUDGFXLevel = GetCVar("dvds_gfxeffectlevel"); int HUDMsgDelayBase = GetCVar("dvdshud_refreshdelay"); if (HUDMsgDelayBase < 1) HUDMsgDelayBase = 1; if (HUDMsgDelayBase > 420) HUDMsgDelayBase = 420; if (HUDGFXLevel == 0) HUDMsgDelayBase *= 1; else if (HUDGFXLevel == 1) HUDMsgDelayBase *= 3; else if (HUDGFXLevel == 2) HUDMsgDelayBase *= 9; int HUDMsgDelayFixed = HUDMsgDelayBase * 1.0; HUDMsgDelayFixed /= 35; HUDMsgDelayFixed += 0.008; int ExHUDMsgDelayFixed = 1 * 1.0; ExHUDMsgDelayFixed = GetCVar("dvdshud_display_extratics"); if (ExHUDMsgDelayFixed < 0) ExHUDMsgDelayFixed = 0; ExHUDMsgDelayFixed *= 0.02858; //714285714286; HUDMsgDelayFixed += ExHUDMsgDelayFixed; int baseholdtime = HUDMsgDelayFixed; // [55] is the Armor Page to display if (MiscellaneousVars[55] != 0) { SetHudSize(512,384,0); // SetHudSize(MiscellaneousVars[76],MiscellaneousVars[77],MiscellaneousVars[78]); // Checks the Armor Info/Durability of the Marine's armor only. if (MiscellaneousVars[55] == 1) // Current Armor [Deggaris and Illucia only] { if (CharacterClass == 2) MiscellaneousVars[55] += 1; else { if (CurrentArmorClass == 0) MiscellaneousVars[55] += 1; if (CurrentArmorClass == 1) { // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); if (ModType == 0) ArmorString1 = "\cd+2.5% Chance of Not Consuming Ammo\n"; else ArmorString1 = "\cd+3.75% Chance of Not Consuming Ammo\n"; SetFont("ARM1A1"); HudMessage(s:"A"; 0, 903, 0, 210.0, 50.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Green Armor"; 0, 902, CR_WHITE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+33.3% Normal Damage Protection\n", s:"\cd+2.5% Unbreakable Damage Protection\n", s:"\cd+35% Total Damage Protection\n", s:"Up to 100 Durability Points\n", s:"\cd+15% Bullet Resistance\n", s:"\cd+2% Fire Resistance\n", s:"\cd+1% Explosive Resistance\n", s:"\cg-4% Maximum Mana Regeneration Rate\n", s:"\cd+1.2% Stamina Regeneration\n", s:"\cd+(4 + 1%) Balance\n", s:"\cd+0.5% Survival Chance\n", s:"\cg-3.3% Jump Strength\n", s:"\cd-5% EXP Combo Timer Speed\n", s:"\cd+1.25% Maximum Stamina\n", s:"\cd+3.125% Magic-Focus Strength\n", s:ArmorString1, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } if (CurrentArmorClass == 2) { // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); if (ModType == 0) ArmorString1 = "\cd+4% Chance of Not Consuming Ammo\n"; else ArmorString1 = "\cd+6% Chance of Not Consuming Ammo\n"; SetFont("ARM2A1"); HudMessage(s:"A"; 0, 903, 0, 214.0, 55.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Blue Armor"; 0, 902, CR_WHITE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+50% Normal Damage Protection\n", s:"\cd+5% Unbreakable Damage Protection\n", s:"\cd+52.5% Total Damage Protection\n", s:"Up to 200 Durability Points\n", s:"\cd+25% Bullet Resistance\n", s:"\cd+10% Fire Resistance\n", s:"\cd+4% Explosive Resistance\n", s:"\cg-8% Maximum Mana Regeneration Rate\n", s:"\cd+2.5% Stamina Regeneration\n", s:"\cd+(8 + 2%) Balance\n", s:"\cd+1% Survival Chance\n", s:"\cg-5% Jump Strength\n", s:"\cd-10% EXP Combo Timer Speed\n", s:"\cd+2.5% Maximum Stamina\n", s:"\cd+6.25% Magic-Focus Strength\n", s:ArmorString1, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } if (CurrentArmorClass == 3) { // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); if (ModType == 0) ArmorString1 = "\cd+6.5% Chance of Not Consuming Ammo\n"; else ArmorString1 = "\cd+9.75% Chance of Not Consuming Ammo\n"; SetFont("STSKA1"); HudMessage(s:"A"; 0, 903, 0, 195.0, 50.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Stone Skin Armor"; 0, 902, CR_BRICK, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+66.67% Normal Damage Protection\n", s:"\cd+12.5% Unbreakable Damage Protection\n", s:"\cd+70.84% Total Damage Protection\n", s:"Up to 500 Durability Points\n", s:"\cd+40% Bullet Resistance\n", s:"\cd+27.5% Fire Resistance\n", s:"\cg-12.5% Ice Resistance\n", s:"\cd+15% Explosive Resistance\n", s:"\cg-10% Maximum Mana Regeneration Rate\n", s:"\cd+5% Stamina Regeneration\n", s:"\cd+(12 + 4%) Balance\n", s:"\cd+1.6% Survival Chance\n", s:"\cg-6.7% Jump Strength\n", s:"\cd-15% EXP Combo Timer Speed\n", s:"\cd+5% Maximum Stamina\n", s:"\cd+9.375% Magic-Focus Strength\n", s:ArmorString1, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } if (CurrentArmorClass == 4) { // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); if (ModType == 0) ArmorString1 = "\cd+10% Chance of Not Consuming Ammo\n"; else ArmorString1 = "\cd+15% Chance of Not Consuming Ammo\n"; SetFont("DISKA1"); HudMessage(s:"A"; 0, 903, 0, 190.0, 55.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Diamond Skin Armor"; 0, 902, CR_BRICK, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+90% Damage Protection\n", s:"\cd+37.5% Unbreakable Damage Protection\n", s:"\cd+93.75% Total Damage Protection\n", s:"Up to 1250 Durability Points\n", s:"\cd+47.5% Bullet Resistance\n", s:"\cd+37.5% Fire Resistance\n", s:"\cd+7.5% Ice Resistance\n", s:"\cd+7.5% Explosive Resistance\n", s:"\cg-14% Maximum Mana Regeneration Rate\n", s:"\cd+10% Stamina Regeneration\n", s:"\cd+(16 + 8%) Balance\n", s:"\cd+4.4% Survival Chance\n", s:"\cg-9% Jump Strength\n", s:"\cd-20% EXP Combo Timer Speed\n", s:"\cd+10% Maximum Stamina\n", s:"\cd+12.5% Magic-Focus Strength\n", s:ArmorString1, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } if (CurrentArmorClass == 5) { // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); if (ModType == 0) ArmorString1 = "\cd+15% Chance of Not Consuming Ammo\n"; else ArmorString1 = "\cd+22.5% Chance of Not Consuming Ammo\n"; SetFont("STSKB1"); HudMessage(s:"A"; 0, 903, 0, 174.0, 50.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Divine Stone Skin Armor"; 0, 902, CR_GOLD, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+83.3334% Normal Damage Protection\n", s:"\cd+25% Unbreakable Damage Protection\n", s:"\cd+87.5% Total Damage Protection\n", s:"Up to 2000 Durability Points\n", s:"\cd+5% Overall Resistance\n", s:"\cd+40% Bullet Resistance\n", s:"\cd+27.5% Fire Resistance\n", s:"\cg-12.5% Ice Resistance\n", s:"\cd+30% Explosive Resistance\n", s:"\cg-12% Maximum Mana Regeneration Rate\n", s:"\cd+7.5% Stamina Regeneration\n", s:"\cd+(12 + 12%) Balance\n", s:"\cd+6.6% Survival Chance\n", s:"\cg-8.3% Jump Strength\n", s:"\cd-25% EXP Combo Timer Speed\n", s:"\cd+12.5% Maximum Stamina\n", s:"\cd+15.625% Magic-Focus Strength\n", s:ArmorString1, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } if (CurrentArmorClass == 6) { // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); if (ModType == 0) ArmorString1 = "\cd+25% Chance of Not Consuming Ammo\n"; else ArmorString1 = "\cd+37.5% Chance of Not Consuming Ammo\n"; SetFont("DISKB1"); HudMessage(s:"A"; 0, 903, 0, 167.0, 55.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Divine Diamond Skin Armor"; 0, 902, CR_GOLD, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+95% Normal Damage Protection\n", s:"\cd+75% Unbreakable Damage Protection\n", s:"\cd+98.75% Total Damage Protection\n", s:"Up to 5000 Durability Points\n", s:"\cd+10% Overall Resistance\n", s:"\cd+47.5% Bullet Resistance\n", s:"\cd+37.5% Fire Resistance\n", s:"\cd+7.5% Ice Resistance\n", s:"\cd+35% Explosive Resistance\n", s:"\cg-16% Maximum Mana Regeneration Rate\n", s:"\cd+15% Stamina Regeneration\n", s:"\cd+(16 + 24%) Balance\n", s:"\cd+17.6% Survival Chance\n", s:"\cg-9.5% Jump Strength\n", s:"\cd-30% EXP Combo Timer Speed\n", s:"\cd+25% Maximum Stamina\n", s:"\cd+18.75% Magic-Focus Strength\n", s:ArmorString1, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } } } // Checks the Armor Info of Sauron's Helmet. [all characters] if (MiscellaneousVars[55] == 2) { if (MiscellaneousVars[25101] > 0) { if (CharacterClass == 0) ArmorString1 = "\cd+12.5% Mana Regeneration Rate\n"; if (CharacterClass == 1) ArmorString1 = "\cd+25% Mana Regeneration Rate\n"; if (CharacterClass == 2) ArmorString1 = "\cd+37.5% Mana Regeneration Rate\n"; ArmorString2 = " \n"; if (CharacterClass == 2) ArmorString2 = "\cg+34% Hellcore Heating Speed\n"; if (ModType == 0) ArmorString3 = "\cd+7.5% Chance of Not Consuming Ammo\n"; else ArmorString3 = "\cd+9.375% Chance of Not Consuming Ammo\n"; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("SHEMC0"); HudMessage(s:"A"; 0, 903, 0, 190.0, 25.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Sauron's Helmet"; 0, 902, CR_DARKGRAY, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd-25% Damage Received\n", s:"\cd-16.67% Damage from Bullets/Pellets\n", s:"\cd+12.5% Healing Spell Effect\n", s:ArmorString1, s:"\cg-25% Maximum Mana Regeneration Rate\n", s:"\cg-10% Stamina Regeneration\n", s:"\cd+12.5% Mana Gain from Items\n", s:"\cd+(17 + 17%) Balance\n", s:"\cd+17.5% Survival Chance\n", s:"\cg-10% Jump Strength\n", s:"\cg-1.56% Chance to Completely Evade an Attack\n", s:"\cdMarginally Increases Evasion Based on Agility & Deftness\n", s:ArmorString3, s:ArmorString2, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } // Checks the Armor Info of Sauron's Gauntlets. [all characters] if (MiscellaneousVars[55] == 3) { if (MiscellaneousVars[25102] > 0) { if (CharacterClass == 0) ArmorString1 = "\cd+(5 + 5%) Balance\n"; if (CharacterClass == 1) ArmorString1 = "\cd+(6 + 6%) Balance\n"; if (CharacterClass == 2) ArmorString1 = "\cd+(4 + 4%) Balance\n"; if (CharacterClass == 0) ArmorString2 = "\cd+5% Survival Chance\n"; if (CharacterClass == 1) ArmorString2 = "\cd+6% Survival Chance\n"; if (CharacterClass == 2) ArmorString2 = "\cd+4% Survival Chance\n"; ArmorString3 = " \n"; if (CharacterClass == 2) ArmorString3 = "\cg+34% Hellcore Heating Speed\n"; if (ModType == 0) ArmorString4 = "\cd+7.5% Chance of Not Consuming Ammo\n"; else ArmorString4 = "\cd+9.375% Chance of Not Consuming Ammo\n"; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("WGNTC0"); HudMessage(s:"A"; 0, 903, 0, 170.0, 30.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Sauron's Gauntlets"; 0, 902, CR_DARKGRAY, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+12.5% Healing Spell Effect\n", s:"\cd+25% Mana Regeneration Rate\n", s:"\cg-10% Maximum Mana Regeneration Rate\n", s:"\cg-10% Stamina Regeneration\n", s:"\cd+25% Mana Gain from Items\n", s:"\cg-1.56% Chance to Completely Evade an Attack (when equipped)\n", s:"\cdMarginally Increases Evasion Based on Agility & Deftness\n", s:ArmorString1, s:ArmorString2, s:"\cg-5% Jump Strength\n", s:"Recovers some health/mana with each hit [up to 200% maximum of each]\n", s:"Alt-Fire will throw a stronger, slower blow\n", s:ArmorString4, s:ArmorString3, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } // Checks the Armor Info of The One Ring [all characters] if (MiscellaneousVars[55] == 4) { if (MiscellaneousVars[25103] > 0) { if (CharacterClass == 0) ArmorString1 = "\cg+25% Mana Cost\n"; if (CharacterClass == 1) ArmorString1 = "\cg+25% Mana Cost\n"; if (CharacterClass == 2) ArmorString1 = "\cd-18.75% Mana Cost\n"; if (CharacterClass == 0) ArmorString2 = "\cg-37.5% Mana Regeneration Rate\n"; if (CharacterClass == 1) ArmorString2 = "\cg-25% Mana Regeneration Rate\n"; if (CharacterClass == 2) ArmorString2 = "\cg-12.5% Mana Regeneration Rate\n"; if (CharacterClass == 0) ArmorString3 = "\cg-50% Mana Gain from Items\n"; if (CharacterClass == 1) ArmorString3 = "\cg-50% Mana Gain from Items\n"; if (CharacterClass == 2) ArmorString3 = "\cd+25% Mana Gain from Items\n"; if (CharacterClass == 2) { if (MiscellaneousVars[25109] > 0) ArmorString4 = "\cqIncrease Fear Effect Chance from '\cnAnubis Cufflinks\cq' to 16.67%\n"; else ArmorString4 = "\ck(?)\n"; } else { if (CharacterClass == 0) ArmorString4 = "\cdYou Become Ghostly, Making Attacks Sometimes Pass Through You\n"; if (CharacterClass == 1) ArmorString4 = "\cdYou Appear as a Shadow, Throwing Attacks off Course\n"; } if (ModType == 0) ArmorString5 = "\cd+25% Chance of Not Consuming Ammo\n"; else ArmorString5 = "\cd+31.25% Chance of Not Consuming Ammo\n"; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("LOTRD0"); HudMessage(s:"A"; 0, 903, 0, 195.0, 30.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"The One Ring"; 0, 902, CR_ORANGE, 256.0, 31.0, baseholdtime); HudMessage( s:ArmorString1, s:"\cd+150% Healing Spell Effect\n", s:ArmorString2, s:"\cd+50% Maximum Mana Regeneration Rate\n", s:"\cd+25% Extra Chance of a Gain to Each Stat on Level Up\n", s:ArmorString3, s:"\cd+10% Balance\n", s:"\cd+33.3% Survival Chance\n", s:"\cd+50% Movement Speed\n", s:"\cd+150% Damage Inflicted by All Attacks\n", s:"\cd-60% Damage Received\n", s:"\cd+6.25% Chance to Completely Evade an Attack\n", s:"\cdSlightly Increases Evasion Based on Agility & Deftness\n", s:"\cdAllows You to See The Entire Map\n", s:"\cdAllows You to See All Creatures and Items on The Map\n", s:ArmorString4, s:"\cd-20% EXP Combo Timer Speed\n", s:ArmorString5, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } // Checks the Armor Info of the Safe Tea Boots [Flora only] if (MiscellaneousVars[55] == 5) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25104] > 0) { if (MiscellaneousVars[25111] > 0) ArmorString1 = "\cq+4.2% Damage Reduced by '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability.\n"; else ArmorString1 = "\ck(?)\n"; if (MiscellaneousVars[25111] > 0) ArmorString2 = "\cq+1.3% Chance for '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability to activate.\n"; else ArmorString2 = "\ck(?)\n"; if (MiscellaneousVars[110006] == 1) ArmorString3 = "\ck(?)\n"; else ArmorString3 = "\cd+9 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString4 = " \n"; else ArmorString4 = ""; if (GetCVar("dvds_dashdoesdmg") > 0) ArmorString5 = "\cd+250% Damage Done Via Dashing\n"; else ArmorString5 = "\n"; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMMA0"); HudMessage(s:"A"; 0, 903, 0, 188.0, 30.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Safe Tea Shoes"; 0, 902, CR_LIGHTBLUE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+3% Armor Class\n", s:ArmorString3, s:"\cd+10% Stamina Regeneration\n", s:"\cd+1 Balance\n", s:"\cd+1.25% Magic Resistance\n", s:"\cd+75% Damage Done By Kicks\n", s:"\cd+25% Chance to Not Incur Slime/etc Damage\n", s:"\cd-0.5% Hellcore Heating Speed\n", s:"\cd+3.75% Chance to Completely Evade an Attack\n", s:"\cd+10% Jump Strength\n", s:ArmorString1, s:ArmorString2, s:"\cd+2.5%-5% Extra EXP Gained\n", s:"\cd+2.5%-5% Extra Sceptre EXP Gained\n", s:"\cd-60% Stamina Use when Dashing/Air-Dashing\n", s:"\cd-25% Dash/Air-Dash Cooldown Time\n", s:"\cd-10% EXP Combo Timer Speed\n", s:"\cd+12.5% Dash/Air-Dash Length\n", s:ArmorString4, s:ArmorString5, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } // Checks the Armor Info of the Pearly Corset [Flora only] if (MiscellaneousVars[55] == 6) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25105] > 0) { if (MiscellaneousVars[25111] > 0) ArmorString1 = "\cq+4.2% Damage Reduced by '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability.\n"; else ArmorString1 = "\ck(?)\n"; if (MiscellaneousVars[25111] > 0) ArmorString2 = "\cq+1.3% Chance for '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability to activate.\n"; else ArmorString2 = "\ck(?)\n"; if (MiscellaneousVars[110006] == 1) ArmorString3 = "\ck(?)\n"; else ArmorString3 = "\cd+9 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString4 = "\n"; else ArmorString4 = ""; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMMB0"); HudMessage(s:"A"; 0, 903, 0, 190.0, 30.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Pearly Corset"; 0, 902, CR_LIGHTBLUE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+7% Armor Class\n", s:ArmorString3, s:"\cd+3 Balance\n", s:"\cd+2.5% Magic Resistance\n", s:"\cd+2% Fire-Elemental Resistance\n", s:"\cd+2% Ice-Elemental Resistance\n", s:"\cd+25% Bullet Resistance\n", s:"\cd-2.5% Hellcore Heating Speed\n", s:"\cd+0.5% Jump Strength\n", s:"\cd+20% HP Regen Speed\n", s:"\cd-10% HP Degen Speed (only if above 100% Maximum HP)\n", s:"\cd+20%-30% Extra EXP Gained\n", s:"\cd+20%-30% Extra Sceptre EXP Gained\n", s:"\cd+20% Max HP Gained From Max HP Bonuses/Seeds of Life\n", s:"\cd+0.75% Chance to Completely Evade an Attack\n", s:ArmorString1, s:ArmorString2, s:ArmorString4, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } // Checks the Armor Info of the Water Flying Dress [Flora only] if (MiscellaneousVars[55] == 7) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25106] > 0) { if (MiscellaneousVars[25111] > 0) ArmorString1 = "\cq+4.2% Damage Reduced by '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability.\n"; else ArmorString1 = "\ck(?)\n"; if (MiscellaneousVars[25111] > 0) ArmorString2 = "\cq+1.3% Chance for '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability to activate.\n"; else ArmorString2 = "\ck(?)\n"; if (MiscellaneousVars[110006] == 1) ArmorString3 = "\ck(?)\n"; else ArmorString3 = "\cd+9 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString4 = "\n"; else ArmorString4 = ""; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMMC0"); HudMessage(s:"A"; 0, 903, 0, 173.0, 31.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Water Flying Dress"; 0, 902, CR_LIGHTBLUE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+8% Armor Class\n", s:ArmorString3, s:"\cd+4 Balance\n", s:"\cd+25% Magic Resistance\n", s:"\cd+30% Fire-Elemental Resistance\n", s:"\cd+20% Area-Of-Effect Resistance\n", s:"\cd+15% Bullet Resistance\n", s:"\cd-7.5% Hellcore Heating Speed\n", s:"\cd+0.5% Jump Strength\n", s:"\cd+1.25% Chance to Completely Evade an Attack\n", s:"\cd+10% Maximum Stamina\n", s:"\cd+66.6% Stamina Recovery From Items\n", s:"\cd+66.6% Hellcore Cooldown From Items\n", s:ArmorString1, s:ArmorString2, s:ArmorString4, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } // Checks the Armor Info of the Evenstar Necklace [Flora only] if (MiscellaneousVars[55] == 8) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25107] > 0) { if (MiscellaneousVars[25111] > 0) ArmorString1 = "\cq+4.2% Damage Reduced by '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability.\n"; else ArmorString1 = "\ck(?)\n"; if (MiscellaneousVars[25111] > 0) ArmorString2 = "\cq+1.3% Chance for '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability to activate.\n"; else ArmorString2 = "\ck(?)\n"; if (MiscellaneousVars[110006] == 1) ArmorString3 = "\ck(?)\n"; else ArmorString3 = "\cd+9 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString4 = "\n"; else ArmorString4 = ""; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMMD0"); HudMessage(s:"A"; 0, 903, 0, 174.0, 28.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Evenstar Necklace"; 0, 902, CR_LIGHTBLUE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+2% Armor Class\n", s:ArmorString3, s:"\cd+1 Balance\n", s:"\cd-(10 + 5%) Mana Cost\n", s:"\cd+20% Magic Resistance\n", s:"\cd+20% Fire-Elemental Resistance\n", s:"\cd+20% Ice-Elemental Resistance\n", s:"\cd+20% Thunder-Elemental Resistance\n", s:"\cd+20% Magic Damage\n", s:"\cd+50% Fire-Elemental Damage\n", s:"\cd+50% Ice-Elemental Damage\n", s:"\cd+50% Thunder-Elemental Damage\n", s:"\cd+50% Holy-Elemental Damage\n", s:"\cd+10% HP Regen Speed\n", s:"\cd-5% HP Degen Speed (only if above 100% Maximum HP)\n", s:"\cd-13.5% Hellcore Heating Speed\n", s:"\cd+1.25% Jump Strength\n", s:"\cd+25% Maximum Mana Regeneration Rate\n", s:"\cd+33% Movement Speed While Drawing '\cfDiaris Bow\cd'\n", s:"\cd+2.5% Chance to Completely Evade an Attack\n", s:"\cd+6.25% Magic-Focus Strength\n", s:"\cdSlightly speeds up Debuff Timers\n", s:ArmorString1, s:ArmorString2, s:ArmorString4, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } // Checks the Armor Info of the Cloak Of Evasion [Flora only] if (MiscellaneousVars[55] == 9) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25108] > 0) { if (MiscellaneousVars[25111] > 0) ArmorString1 = "\cq+4.2% Damage Reduced by '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability.\n"; else ArmorString1 = "\ck(?)\n"; if (MiscellaneousVars[25111] > 0) ArmorString2 = "\cq+1.3% Chance for '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability to activate.\n"; else ArmorString2 = "\ck(?)\n"; if (MiscellaneousVars[110006] == 1) ArmorString3 = "\ck(?)\n"; else ArmorString3 = "\cd+9 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString4 = "\n"; else ArmorString4 = ""; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMME0"); HudMessage(s:"A"; 0, 903, 0, 180.0, 31.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Cloak Of Evasion"; 0, 902, CR_LIGHTBLUE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+4% Armor Class\n", s:ArmorString3, s:"\cd+3 Balance\n", s:"\cd+5% Ice-Elemental Resistance\n", s:"\cd+2.5% Thunder-Elemental Resistance\n", s:"\cd+10% Bullet Resistance\n", s:"\cd+12.5% Chance to Not Incur Slime/etc Damage\n", s:"\cd+10% Movement Speed\n", s:"\cd+6.25% Dash/Air-Dash Length\n", s:"\cd+12.5% Chance to Completely Evade an Attack\n", s:"\cd+2.5% Jump Strength\n", s:"\cd-1.5% Hellcore Heating Speed\n", s:ArmorString1, s:ArmorString2, s:"\cd-5% EXP Combo Timer Speed\n", s:ArmorString4, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } // Checks the Armor Info of the Falcon Knife Earrings [Flora only] if (MiscellaneousVars[55] == 10) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25115] > 0) { if (MiscellaneousVars[25111] > 0) ArmorString1 = "\cq+4.2% Damage Reduced by '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability.\n"; else ArmorString1 = "\ck(?)\n"; if (MiscellaneousVars[25111] > 0) ArmorString2 = "\cq+1.3% Chance for '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability to activate.\n"; else ArmorString2 = "\ck(?)\n"; if (MiscellaneousVars[110009] == 0) { if (MiscellaneousVars[25102] > 0) ArmorString3 = "\cd+66.7% Damage Done By Punches/Uppercuts and Gauntlet Punches\n"; else ArmorString3 = "\cd+66.7% Damage Done By Punches/Uppercuts\n"; ArmorString6 = "\cd+66.7% Damage Done By Kicks and Uppercuts\n"; ArmorString7 = "\cd+25% Damage Inflicted by All Attacks\n"; } else if (MiscellaneousVars[110009] == 1) { if (MiscellaneousVars[25102] > 0) ArmorString3 = "\cd+50% Damage Done By Punches/Uppercuts and Gauntlet Punches\n"; else ArmorString3 = "\cd+50% Damage Done By Punches/Uppercuts\n"; ArmorString6 = "\cd+50% Damage Done By Kicks and Uppercuts\n"; ArmorString7 = "\cd+50% Damage Inflicted by All Attacks\n"; } else if (MiscellaneousVars[110009] == 2) { if (MiscellaneousVars[25102] > 0) ArmorString3 = "\cd+33.3% Damage Done By Punches/Uppercuts and Gauntlet Punches\n"; else ArmorString3 = "\cd+33.3% Damage Done By Punches/Uppercuts\n"; ArmorString6 = "\cd+33.3% Damage Done By Kicks and Uppercuts\n"; ArmorString7 = "\cd+100% Damage Inflicted by All Attacks\n"; } if (MiscellaneousVars[110006] == 1) ArmorString4 = "\ck(?)\n"; else ArmorString4 = "\cd+9 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString5 = "\n"; else ArmorString5 = ""; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMMK0"); HudMessage(s:"A"; 0, 903, 0, 167.0, 31.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Falcon Knife Earrings"; 0, 902, CR_LIGHTBLUE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+5% Armor Class\n", s:ArmorString4, s:"\cd+1 Balance\n", s:ArmorString7, s:"\cd+3.75% Jump Strength\n", s:"\cd-4.5% Hellcore Heating Speed\n", s:"\cd+1.25% Chance to Completely Evade an Attack\n", s:"\cd+17.5% Maximum Stamina\n", s:"\cd-25% Stamina Consumption for Attacks/Dashing/Whistling\n", s:"\cd-10% Stamina Comsumption for Focusing/Psyching Up\n", s:"\cd+6.25% Magic-Focus Strength\n", s:ArmorString3, s:ArmorString6, s:ArmorString1, s:ArmorString2, s:ArmorString5, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } // Checks the Armor Info of the Anubis Cufflinks [Flora only] if (MiscellaneousVars[55] == 11) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25109] > 0) { if (MiscellaneousVars[25111] > 0) ArmorString1 = "\cq+4.2% Damage Reduced by '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability.\n"; else ArmorString1 = "\ck(?)\n"; if (MiscellaneousVars[25111] > 0) ArmorString2 = "\cq+1.3% Chance for '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability to activate.\n"; else ArmorString2 = "\ck(?)\n"; if (MiscellaneousVars[25102] > 0) ArmorString3 = "\cd+75% Damage Done By Punches/Uppercuts and Gauntlet Punches\n"; else ArmorString3 = "\cd+75% Damage Done By Punches/Uppercuts\n"; if (MiscellaneousVars[25103] > 0) ArmorString4 = "\cd+16.67% Chance to Induce Fear On Enemies and Make Them Hesitate\n"; else ArmorString4 = "\cd+10% Chance to Induce Fear On Enemies and Make Them Hesitate\n"; if (MiscellaneousVars[110006] == 1) ArmorString5 = "\ck(?)\n"; else ArmorString5 = "\cd+9 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString6 = "\n"; else ArmorString6 = ""; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMMF0"); HudMessage(s:"A"; 0, 903, 0, 181.0, 32.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Anubis Cufflinks"; 0, 902, CR_LIGHTBLUE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+5% Armor Class\n", s:ArmorString5, s:"\cd+2.5% Stamina Regeneration\n", s:"\cd+2 Balance\n", s:"\cd-(2 + 1%) Mana Cost\n", s:ArmorString4, s:"\cd+6.25% Thunder-Elemental Resistance\n", s:"\cd+10% Survival Chance\n", s:"\cd+15% HP Regen Speed\n", s:"\cd-7.5% HP Degen Speed (only if above 100% Maximum HP)\n", s:"\cd+1.25% Jump Strength\n", s:"\cd-3.5% Hellcore Heating Speed\n", s:"\cd+62% Maximum Mana Regeneration Rate\n", s:"\cd+0.5% Chance to Completely Evade an Attack\n", s:"\cd+10% EXP given from ally Monsters killing enemy Monsters\n", s:ArmorString3, s:ArmorString1, s:ArmorString2, s:ArmorString6, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } // Checks the Armor Info of the Kissa's Armored Brassiere [Flora only] if (MiscellaneousVars[55] == 12) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25110] > 0) { if (MiscellaneousVars[25111] > 0) ArmorString1 = "\cq+4.2% Damage Reduced by '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability.\n"; else ArmorString1 = "\ck(?)\n"; if (MiscellaneousVars[25111] > 0) ArmorString2 = "\cq+1.3% Chance for '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability to activate.\n"; else ArmorString2 = "\ck(?)\n"; if (MiscellaneousVars[110006] == 1) ArmorString3 = "\ck(?)\n"; else ArmorString3 = "\cd+9 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString4 = "\n"; else ArmorString4 = ""; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMMG0"); HudMessage(s:"A"; 0, 903, 0, 151.0, 30.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Kissa's Armored Brassiere"; 0, 902, CR_LIGHTBLUE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+6% Armor Class\n", s:ArmorString3, s:"\cd+7.5% Stamina Regeneration\n", s:"\cd+1 Balance\n", s:"\cd+20% Bullet Resistance\n", s:"\cd+10% Max HP Gained From Max HP Bonuses/Seeds of Life\n", s:"\cd+25% Survival Chance\n", s:"\cqMaximum Survival Chance increases from 87.5% to 93.8%\n", s:"\cd+38% Maximum Mana Regeneration Rate\n", s:"\cd+2.5% Jump Strength\n", s:"\cd-6.5% Hellcore Heating Speed\n", s:"\cd+1% Chance to Completely Evade an Attack\n", s:ArmorString1, s:ArmorString2, s:ArmorString4, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } // Checks the Armor Info of the Ruinous Shield [Flora only] if (MiscellaneousVars[55] == 13) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25112] > 0) { if (MiscellaneousVars[110006] == 1) ArmorString3 = "\ck(?)\n"; else ArmorString3 = "\cd+4 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString4 = "\n"; else ArmorString4 = ""; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMML0"); HudMessage(s:"A"; 0, 903, 0, 192.0, 31.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Ruinous Shield"; 0, 902, CR_DARKRED, 256.0, 31.0, baseholdtime); HudMessage( s:ArmorString3, s:"\cg-(10 + 50%) Balance\n", s:"\cgSurvival Chance is cut by 4/5ths it's usual value\n", s:"\cg-61% Damage Inflicted \c-[except Hellcore weapons]\n", s:"\cg-61% Damage Resistance\n", s:"\cg+100% Hellcore Heating Speed\n", s:"\cg+50% Mana Cost for Spells\n", s:"\cg-62.5% HP Regeneration Speed\n", s:"\cg-62.5% MP Regeneration Speed\n", s:"\cg-62.5% Stamina Regeneration Speed\n", s:"\cgEvasion Chance reduced by 5/8ths it's usual value\n", s:"\cdHellcore Weapons drop at 3x the normal rate\n", s:"Taking Damage Will Help Progress the Shield's Uncursing Process\n", s:"Shield Will Also Slowly Uncurse Itself Over Time On It's Own\n", s:"Killing Enemies Will Also Gradually Uncurse the Shield Over Time\n", s:"\cg-0.3% to -1.55% HP Degeneration Every Second\n", s:"\cg-0.3% to -1.55% MP Degeneration Every Second\n", s:"\cgEXP Combo Timer Speed Doubled\n", s:ArmorString4, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } // Checks the Armor Info of the Divine Shield [Flora only] if (MiscellaneousVars[55] == 14) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25111] > 0) { misc1 = 0; if (MiscellaneousVars[25104] > 0) misc1 += 1; if (MiscellaneousVars[25105] > 0) misc1 += 1; if (MiscellaneousVars[25106] > 0) misc1 += 1; if (MiscellaneousVars[25107] > 0) misc1 += 1; if (MiscellaneousVars[25108] > 0) misc1 += 1; if (MiscellaneousVars[25115] > 0) misc1 += 1; if (MiscellaneousVars[25109] > 0) misc1 += 1; if (MiscellaneousVars[25110] > 0) misc1 += 1; if (MiscellaneousVars[25113] > 0) misc1 += 1; if (MiscellaneousVars[25114] > 0) misc1 += 1; misc2 = 78 + (misc1 * 13); misc4 = misc2 % 10; misc2 = (misc2 - misc4) / 10; misc3 = 42 + (misc1 * 42); misc5 = misc3 % 10; misc3 = (misc3 - misc5) / 10; ArmorString1 = "% Total Chance for '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability to activate.\n"; ArmorString2 = "% Total Damage Reduced by '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability.\n"; if (MiscellaneousVars[110006] == 1) ArmorString3 = "\ck(?)\n"; else ArmorString3 = "\cd+9 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString4 = "\n"; else ArmorString4 = ""; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMMH0"); HudMessage(s:"A"; 0, 903, 0, 194.0, 30.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Divine Shield"; 0, 902, CR_LIGHTBLUE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+16% Armor Class\n", s:ArmorString3, s:"\cd+12.5% Stamina Regeneration\n", s:"\cd+(10 + 10%) Balance\n", s:"\cd+30% Magic Resistance\n", s:"\cd+25% Fire-Elemental Resistance\n", s:"\cd+25% Ice-Elemental Resistance\n", s:"\cd+25% Thunder-Elemental Resistance\n", s:"\cd-12.5% Hellcore Heating Speed\n", s:"\cd+0.625% Jump Strength\n", s:"\cdEvasion Chance increased by 11/10ths it's usual value\n", s:"\cq",d:misc2,s:".",d:misc4,s:ArmorString1, s:"\cq",d:misc3,s:".",d:misc5,s:ArmorString2, s:"\cd-15% EXP Combo Timer Speed\n", s:"\cd+5% Maximum Stamina\n", s:ArmorString4, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } // Checks the Armor Info of the Balrog's Ring [Flora only] if (MiscellaneousVars[55] == 15) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25113] > 0) { if (MiscellaneousVars[25111] > 0) ArmorString1 = "\cq+4.2% Damage Reduced by '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability.\n"; else ArmorString1 = "\ck(?)\n"; if (MiscellaneousVars[25111] > 0) ArmorString2 = "\cq+1.3% Chance for '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability to activate.\n"; else ArmorString2 = "\ck(?)\n"; if (MiscellaneousVars[110006] == 1) ArmorString3 = "\ck(?)\n"; else ArmorString3 = "\cd+9 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString4 = "\n"; else ArmorString4 = ""; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMMI0"); HudMessage(s:"A"; 0, 903, 0, 199.0, 30.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Balrog's Ring"; 0, 902, CR_LIGHTBLUE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+2% Armor Class\n", s:ArmorString3, s:"\cd+1 Balance\n", s:"\cd-(5 + 2.5%) Mana Cost\n", s:"\cd+15% Max HP Gained From Max HP Bonuses/Seeds of Life\n", s:"\cd+15% Fire-Elemental Resistance\n", s:"\cd+22.5% Ice-Elemental Resistance\n", s:"\cd+25% Area-Of-Effect Resistance\n", s:"\cd+25% HP Regen Speed\n", s:"\cd-12.5% HP Degen Speed (only if above 100% Maximum HP)\n", s:"\cd+25% Maximum Mana Regeneration Rate\n", s:"\cd-8.5% Hellcore Heating Speed\n", s:"\cd+1.25% Jump Strength\n", s:"\cd+0.5% Chance to Completely Evade an Attack\n", s:"\cd+12.5% Maximum Stamina\n", s:"\cd+6.25% Magic-Focus Strength\n", s:"\cdSlightly speeds up Debuff Timers\n", s:ArmorString1, s:ArmorString2, s:ArmorString4, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } // Checks the Armor Info of the Dove's Ribbon [Flora only] if (MiscellaneousVars[55] == 16) { if (CharacterClass != 2) MiscellaneousVars[55] += 1; else { if (MiscellaneousVars[25114] > 0) { if (MiscellaneousVars[25111] > 0) ArmorString1 = "\cq+4.2% Damage Reduced by '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability.\n"; else ArmorString1 = "\ck(?)\n"; if (MiscellaneousVars[25111] > 0) ArmorString2 = "\cq+1.3% Chance for '\cnDivine Shield's\cq' '\cuOmniblock\cq' ability to activate.\n"; else ArmorString2 = "\ck(?)\n"; if (MiscellaneousVars[110006] == 1) ArmorString3 = ""; else ArmorString3 = "\cd+9 Max Level Cap\n"; if (MiscellaneousVars[110006] == 1) ArmorString4 = "\n"; else ArmorString4 = ""; misc4 = (PlayerLevel / 50) + 1; // Dims the screen without using Fade-based commands that'll interfere with other flashes/etc SetFont("BLACKBAR"); HudMessage(s:"A"; HUDMSG_ALPHA, 904, 0, 160.0, 120.0, baseholdtime, 0.667); SetFont("ARMMJ0"); HudMessage(s:"A"; 0, 903, 0, 192.0, 30.0, baseholdtime); SetFont("DVDSSMLFONT"); HudMessage(s:"Dove's Ribbon"; 0, 902, CR_LIGHTBLUE, 256.0, 31.0, baseholdtime); HudMessage( s:"\cd+9% Armor Class\n", s:ArmorString3, s:"\cd+5% Stamina Regeneration\n", s:"\cd+2 Balance\n", s:"\cd+15% Survival Chance\n", s:"\cd+6.25% Magic Resistance\n", s:"\cd+1.25% Fire-Elemental Resistance\n", s:"\cd+6.25% Ice-Elemental Resistance\n", s:"\cd+15% Thunder-Elemental Resistance\n", s:"\cd+5% Bullet Resistance\n", s:"\cd+15% Movement Speed\n", s:"\cd+6.25% Dash/Air-Dash Length\n", s:"\cd+20% Magic Damage\n", s:"\cd+2 to 4 Mana Regeneration Rate\n", s:"\cd+",d:misc4,s:" HP Regeneration per Second, Up to 200% Maximum HP\n", s:"\cdHP will no longer Degenerate when above 100% Maximum HP\n", s:"\cd-5.5% Hellcore Heating Speed\n", s:"\cd+5% Jump Strength\n", s:"\cd+1.75% Chance to Completely Evade an Attack\n", s:"\cqDamage Suffered from Hellcore-Overheat Cut by 50%\n", s:"\cdIncreases Maximum Evasion Chance from 75% to 92.5%\n", s:"\cd+2.5%-5% Extra EXP Gained\n", s:"\cd+2.5%-5% Extra Sceptre EXP Gained\n", s:ArmorString1, s:ArmorString2, s:ArmorString4, s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n", s:" \n"; 0, 901, CR_WHITE, 256.4, 212.0, baseholdtime); } else MiscellaneousVars[55] += 1; } } if (MiscellaneousVars[55] > 16) MiscellaneousVars[55] = 0; // Void Page } Delay(1); Restart; } script "LifebarOptionChecker" ENTER { If (GetCVar("dvds_actorlifebars") == 1) ACS_NamedExecuteAlways ("LifebarDisplayClientSide",0,0,0,0); } str dvds_monsternames[462][3] = { {"PracticeTarget", "Practicing Target", ""}, {"PracticeTarget2", "Practicing Target", ""}, // DOOM 1/2 // Monsters {"DSHelperDog", "Attack Dog", ""}, {"DSZombieman", "Zombieman", ""}, {"PlasmaGuy", "Plasma Dude", ""}, {"RepeaterZombie", "Repeater Guy", ""}, {"KarasawaGuy", "'Sawa Man", ""}, {"RocketLauncherGuy", "Rocketeer Zombie", ""}, {"DSShotgunGuy", "Shotgun Guy", ""}, {"SuperShotgunGuy", "SuperShotgun Guy", ""}, {"FemaleRailZombie", "Railgunner Captain", ""}, {"DSChaingunGuy", "Chaingun Guy", ""}, {"Minigunner", "Minigun Zombie", ""}, {"BFGGuy", "BFG Commando", ""}, {"SuicideBomber", "Suicide Bomber", ""}, {"DSDoomImp", "Imp", ""}, {"DarkImp", "Dark Imp", ""}, {"STDarkImp", "Dark Imp [Weak]", ""}, {"VoidDarkImp", "Dark Imp [Strong]", ""}, {"NetherDarkImp", "Nether Dark Imp", ""}, {"DSDemon", "Pinky Demon", ""}, {"DSSpectre", "Pinky Spectre", ""}, {"BloodDemon", "Blood Pinky", ""}, {"BloodSpectre", "Blood Spectre", ""}, {"ChaingunDemon", "Blood Pinky [Chaingun]", ""}, {"ChaingunSpectre", "Blood Spectre [Chaingun]", ""}, {"DSWolfensteinSS", "SS Nazi", ""}, {"DSLostSoul", "Lost Soul", ""}, {"DSLostSoul2", "Annoying Lost Soul", ""}, {"BetaLostSoul", "Strange Lost Soul", ""}, {"ForgottenOne", "Forgotten One", ""}, {"DSPainElemental", "Pain Elemental", ""}, {"DSCacoDemon", "Cacodemon", ""}, {"Cacolantern", "Cacolantern", ""}, {"Abaddon", "Abaddon", ""}, {"DSHellKnight", "Hell Knight", ""}, {"DSBaronofHell", "Baron of Hell", ""}, {"HellWarrior", "Hell Warrior", ""}, {"Belphegor", "Belphegor", ""}, {"BruiserDemon", "Bruiser Demon", ""}, {"ArchonofHell", "Archon of Hell", ""}, {"PyroDemon", "Pyro Demon", ""}, {"DSRevenant", "Revenant", ""}, {"DeathIncarnate", "Death Incarnate", ""}, {"DSFatso", "Mancubus", ""}, {"Hectebus", "Hectebus", ""}, {"Daedabus", "Daedabus", ""}, {"DSArachnotron", "Arachnotron", ""}, {"DSRailArachnotron", "Arachnotron", ""}, {"ArachnotronMK2", "Augmented Arachnotron", ""}, {"FusionArachnotron", "Fusion Arachnotron", ""}, {"DSArchvile", "Arch Vile", ""}, {"Diabloist", "Diabloist", ""}, {"DSSpiderMastermind", "Spider Mastermind", ""}, {"Demolisher", "Spider-Demolisher", ""}, {"DSCyberdemon", "Cyber Demon", ""}, {"Annihilator", "Cyber-Annhilator", ""}, {"DSScriptedMarine", "UAC Marine Buddy", ""}, {"HadesSphere", "Hades Sphere", ""}, {"HSOverlord", "Hades Sphere", ""}, {"WeakenedFlyingBalrog", "Flying Balrog", ""}, {"FlyingBalrog", "Flying Balrog", ""}, {"CyBruiser", "CyBruiser", ""}, {"HellCleric", "Hell Cleric", ""}, {"HadesElemental", "Hades Elemental", ""}, {"HadesOverlord", "Hades Overlord", ""}, {"Hierophant", "Hierophant", ""}, {"DSBossBrain", "\cfJohn Romero", ""}, {"FZombieman", "Zombieman", ""}, {"FPlasmaGuy", "Plasma Dude", ""}, {"FRocketLauncherGuy", "Rocketeer Zombie", ""}, {"FRepeaterZombie", "Repeater Guy", ""}, {"FKarasawaGuy", "'Sawa Man", ""}, {"FShotgunGuy", "Shotgun Guy", ""}, {"FSuperShotgunGuy", "SuperShotgun Guy", ""}, {"FChaingunGuy", "Chaingun Guy", ""}, {"FBFGGuy", "BFG Commando", ""}, {"FWolfensteinSS", "SS Nazi", ""}, {"FDoomImp", "Imp", ""}, {"FDarkImp", "Dark Imp", ""}, {"FSTDarkImp", "Dark Imp [Weak]", ""}, {"FVoidDarkImp", "Dark Imp [Strong]", ""}, {"FNetherDarkImp", "Nether Dark Imp", ""}, {"FDemon", "Pinky Demon", ""}, {"FSpectre", "Pinky Spectre", ""}, {"FBloodDemon", "Blood Pinky", ""}, {"FBloodSpectre", "Blood Spectre", ""}, {"FChaingunDemon", "Blood Spectre [Chaingun]", ""}, {"FChaingunSpectre", "Blood Spectre [Chaingun]", ""}, {"FRevenant", "Revenant", ""}, {"FDeathIncarnate", "Death Incarnate", ""}, {"FLostSoul1", "Lost Soul", ""}, {"FLostSoul2", "Annoying Lost Soul", ""}, {"FForgottenOne", "Forgotten One", ""}, {"FHadesSphere", "Hades Sphere", ""}, {"FHSOverlord", "Hades Sphere", ""}, {"FCacoDemon", "Cacodemon", ""}, {"FCacolantern", "Cacolantern", ""}, {"FAbaddon", "Abaddon", ""}, {"FPainElemental", "Pain Elemental", ""}, {"FHadesElemental", "Hades Elemental", ""}, {"FHadesOverlord", "Hades Overlord", ""}, {"FArachnotron", "Arachnotron", ""}, {"FRailArachnotron", "Arachnotron", ""}, {"FArachnotronMK2", "Augmented Arachnotron", ""}, {"FFusionArachnotron", "Fusion Arachnotron", ""}, {"FHellKnight", "Hell Knight", ""}, {"FBaronofHell", "Baron of Hell", ""}, {"FBelphegor", "Belphegor", ""}, {"FBruiserDemon", "Bruiser Demon", ""}, {"FCyBruiser", "CyBruiser", ""}, {"FArchonofHell", "Archon of Hell", ""}, {"FPyroDemon", "Pyro Demon", ""}, {"FFatso", "Mancubus", ""}, {"FHectebus", "Hectebus", ""}, {"FDaedabus", "Daedabus", ""}, {"FArchvile", "Arch Vile", ""}, {"FDiabloist", "Diabloist", ""}, {"FSpiderMastermind", "Spider Mastermind", ""}, {"FDemolisher", "Spider-Demolisher", ""}, {"FCyberdemon", "Cyber Demon", ""}, {"FAnnihilator", "Cyber-Annhilator", ""}, {"FHellCleric", "Hell Cleric", ""}, {"FHierophant", "Hierophant", ""}, {"FFlyingBalrog", "Flying Balrog", ""}, // Bosses // Sitnalta {"Zakachi", "\cfZakachi Daemonbourne\c-", ""}, // DV1 Bosses & MiniBosses {"SauronEyeWeak", "Lesser Sauron Eye", ""}, {"SauronEyeStrong1", "Greater Sauron Eye", ""}, {"SauronEyeStrong2", "Greater Sauron Eye", ""}, {"SauronEyeMain", "\cfSauron's Mightiest Eye\c-", ""}, {"Sauravatar", "\cfGreater Sauravatar\c-", ""}, //**************************** //*Non-Standard Doom Monsters* //**************************** // Happy Time Circus [both] {"BeefyNew", "Beefy The Clown", ""}, {"MiniFluffyNew", "Fluffy [mini]", ""}, {"FluffyNew", "Fluffy", ""}, {"BulbyNew", "Bulby [mini]", ""}, {"MegaBulbyNew", "Bulby", ""}, {"TinyBingoNew", "Tiny Bingo", ""}, {"BingoNew", "Bingo", ""}, {"EvilDeadHandNew", "Evil Dead Hand", ""}, {"ClownGhostNew", "Clown Ghost Balloon", ""}, {"ClownGhost2New", "Ghost Clown Face", ""}, {"JumpingSkullNew", "Bouncing Skull", ""}, {"JumpingSkull2New", "Bouncing Skull", ""}, {"PossessedBalloonNew", "Possessed Balloon", ""}, {"BigBerthaNew", "Big Bertha", ""}, {"ClownHeadNew", "Freaky Clown Head", ""}, {"GoreWormNew", "Gore Worm", ""}, {"BigBertha2New", "Big Bertha", ""}, {"BlackBearNew", "Tiny Black Bear", ""}, {"BouncingClownNew", "Giant Bouncing Clown", ""}, {"BabyClownNew", "Baby Bouncing Clown", ""}, {"BabyClown2New", "Baby Bouncing Clown", ""}, {"SuperBerthaNew", "\cfSUPER Big Bertha\c-", ""}, {"PennywiseHeadNew", "Flying Pennywise Head", ""}, {"PennywiseHead2New", "Flying Pennywise Head", ""}, // Boss {"PennywiseBoss", "\cfPennywise The Dancing Clown\c-", ""}, // Heretic // Neutral {"ChickenNew", "Chicken", ""}, // Monsters {"HereticImpNew", "Gargoyle", ""}, {"HereticImpLeaderNew", "NitroGargoyle", ""}, {"PlagueImp", "Plague Gargoyle", ""}, {"WatcherImp", "Watcher Gargoyle", ""}, {"MummyNew", "Golem", ""}, {"MummyLeaderNew", "NitroGolem", ""}, {"MummyGhostNew", "Golem (Ghost)", ""}, {"MummyLeaderGhostNew", "NitroGolem (Ghost)", ""}, {"IceGolem", "Ice Golem", ""}, {"IceGolemGhost", "Ice Golem (Ghost)", ""}, {"FrostGolem", "Frost Golem", ""}, {"FrostGolemGhost", "Frost Golem (Ghost)", ""}, {"KnightNew", "Undead Warrior", ""}, {"KnightGhostNew", "Undead Warrior (Ghost)", ""}, {"WizardNew", "Disciple of D'Sparil", ""}, {"GreaterDisciple", "Greater Disciple", ""}, {"HereticApprenticeNew", "Apprentice of D'Sparil", ""}, {"Banshee", "Abyssal Banshee", ""}, {"IronlichNew", "Iron Lich", ""}, {"IceLich", "Ice Lich", ""}, {"GoldLich", "Gold Lich", ""}, {"FakeGoldLich", "'Gold Lich'", ""}, {"BloodLich", "Blood Lich", ""}, {"ClinkNew", "SabreClaw", ""}, {"DarkClink", "SabreBlade", ""}, {"BeastNew", "Were-Dragon", ""}, {"ShadowBeast", "Shadow Beast", ""}, {"MaulotaurNew", "Maulotaur", ""}, {"SnakeNew", "Ophidian", ""}, {"DeathKnight", "Death Knight", ""}, {"DeathKnightGhost", "Death Knight (Ghost)", ""}, {"HellGuard", "Abyssal Guard", ""}, {"Serpathor", "Serpathor", ""}, // Bosses {"DSparilMountedNew", "\cfD'Sparil\c- (w/ Chaos Serpent Mount)", ""}, {"DSparilUnmountedNew", "\cfD'Sparil\c-", ""}, // Friendlies {"FHereticImp", "Gargoyle", ""}, {"FHereticImpLeader", "NitroGargoyle", ""}, {"FMummy", "Golem", ""}, {"FMummyLeader", "NitroGolem", ""}, {"FMummyGhost", "Golem (Ghost)", ""}, {"FMummyLeaderGhost", "NitroGolem (Ghost)", ""}, {"FKnight", "Undead Warrior", ""}, {"FKnightGhost", "Undead Warrior (Ghost)", ""}, {"FWizard", "Disciple of D'Sparil", ""}, {"FGreaterDisciple", "Greater Disciple", ""}, {"FHereticApprentice", "Apprentice of D'Sparil", ""}, {"FBanshee", "Abyssal Banshee", ""}, {"FIronlich", "Iron Lich", ""}, {"FClink", "Sabreclaw", ""}, {"FDarkClink", "Sabreblade", ""}, {"FBeast", "Were-Dragon", ""}, {"FMaulotaur", "Maulotaur", ""}, {"FSnake", "Ophidian", ""}, {"FHellGuard", "Abyssal Guard", ""}, {"FSerpathor", "Serpathor", ""}, // Hexen // Neutral {"PigNew", "Pig", ""}, // Monsters {"EttinNew", "Ettin", ""}, {"EttinCommander", "Ettin Commander", ""}, {"Bormereth", "Bormereth", ""}, {"FireDemonNew", "Afrit", ""}, {"FireDemonLeader", "Afrit Leader", ""}, {"FireDemonCommander", "Afrit Commander", ""}, {"FireDemonQueen", "Afrit Queen", ""}, {"FireDemonQueenClone", "Afrit Queen", ""}, {"CentaurNew", "Centaur", ""}, {"SlaughtaurNew", "Slaughtaur", ""}, {"BishopNew", "Dark Bishop", ""}, {"DarkDisciple", "Dark Disciple", ""}, {"VampireDVDS", "Vampire", ""}, {"DarkPatriarch", "Dark Patriarch", ""}, {"DarkPatriarchClone", "Dark Patriarch Clone", ""}, {"StalkerNew", "Stalker", ""}, {"StalkerLeaderNew", "Alpha Stalker", ""}, {"IceStalker", "Ice Stalker", ""}, {"IceStalkerLeader", "Alpha Ice Stalker", ""}, {"GreenChaosSerpentNew", "Chaos Serpent [Green]", ""}, {"BrownChaosSerpentNew", "Chaos Serpent [Brown]", ""}, {"MagmaChaosSerpentNew", "Chaos Serpent [Magma]", ""}, {"BlackChaosSerpentNew", "Chaos Serpent [Black]", ""}, {"EtherealChaosSerpentNew", "Chaos Serpent [Ethereal]", ""}, {"IceGuyNew", "Wendigo", ""}, {"WraithNew", "Reiver", ""}, {"WraithBuriedNew", "Reiver", ""}, {"DragonNew", "Death Wyvern", ""}, {"HeresiarchNew", "Heresiarch", ""}, // Bosses {"ClericBossNew", "\cfTraductus, Grand Patriarch of the Church\c-", ""}, {"FighterBossNew", "\cfZedek, Grand Marshal of the Legion\c-", ""}, {"MageBossNew", "\cfMenelkir, Arch Mage of the Arcanum\c-", ""}, {"KoraxNew", "\cfKorax\c-", ""}, // Friendlies {"FEttin", "Ettin", ""}, {"FEttinCommander", "Ettin Commander", ""}, {"FBormereth", "Bormereth", ""}, {"FFireDemon", "Afrit", ""}, {"FFireDemonLeader", "Afrit Leader", ""}, {"FFireDemonCommander", "Afrit Commander", ""}, {"FFireDemonQueen", "Afrit Queen", ""}, {"FFireDemonQueenClone", "Afrit Queen", ""}, {"FCentaur", "Centaur", ""}, {"FSlaughtaur", "Slaughtaur", ""}, {"FBishop", "Dark Bishop", ""}, {"FDarkDisciple", "Dark Disciple", ""}, {"FVampire", "Vampire", ""}, {"FStalker", "Stalker", ""}, {"FStalkerLeader", "Alpha Stalker", ""}, {"FGreenChaosSerpent", "Chaos Serpent [Green]", ""}, {"FBrownChaosSerpent", "Chaos Serpent [Brown]", ""}, {"FMagmaChaosSerpentNew", "Chaos Serpent [Magma]", ""}, {"FBlackChaosSerpentNew", "Chaos Serpent [Black]", ""}, {"FEtherealChaosSerpentNew", "Chaos Serpent [Ethereal]", ""}, {"FWraith", "Reiver", ""}, {"FIceGuy", "Wendigo", ""}, {"FDragon", "Death Wyvern", ""}, {"FHeresiarch", "Heresiarch", ""}, // Strife // Peasants {"PeasantNew", "\cbPeasant\c-", ""}, {"Peasant1New", "\cbPeasant\c-", ""}, {"Peasant2New", "\cbPeasant\c-", ""}, {"Peasant3New", "\cbPeasant\c-", ""}, {"Peasant4New", "\cbPeasant\c-", ""}, {"Peasant5New", "\cbPeasant\c-", ""}, {"Peasant6New", "\cbPeasant\c-", ""}, {"Peasant7New", "\cbPeasant\c-", ""}, {"Peasant8New", "\cbPeasant\c-", ""}, {"Peasant9New", "\cbPeasant\c-", ""}, {"Peasant10New", "\cbPeasant\c-", ""}, {"Peasant11New", "\cbPeasant\c-", ""}, {"Peasant12New", "\cbPeasant\c-", ""}, {"Peasant13New", "\cbPeasant\c-", ""}, {"Peasant14New", "\cbPeasant\c-", ""}, {"Peasant15New", "\cbPeasant\c-", ""}, {"Peasant16New", "\cbPeasant\c-", ""}, {"Peasant17New", "\cbPeasant\c-", ""}, {"Peasant18New", "\cbPeasant\c-", ""}, {"Peasant19New", "\cbPeasant\c-", ""}, {"Peasant20New", "\cbPeasant\c-", ""}, {"Peasant21New", "\cbPeasant\c-", ""}, {"Peasant22New", "\cbPeasant\c-", ""}, // Beggars {"BeggarNew", "\cbBeggar\c-", ""}, {"Beggar1New", "\cbBeggar\c-", ""}, {"Beggar2New", "\cbBeggar\c-", ""}, {"Beggar3New", "\cbBeggar\c-", ""}, {"Beggar4New", "\cbBeggar\c-", ""}, {"Beggar5New", "\cbBeggar\c-", ""}, // Merchants {"MerchantNew", "\cbMerchant\c-", ""}, {"ArmorerNew", "\cbArmorer\c-", ""}, {"BarKeepNew", "\cbBartender\c-", ""}, {"MedicNew", "\cbMedic\c-", ""}, {"WeaponSmithNew", "\cbWeapon Smith\c-", ""}, // Front Rebels {"RebelNew", "Front Rebel", ""}, {"Rebel1New", "Front Rebel", ""}, {"Rebel2New", "Front Rebel", ""}, {"Rebel3New", "Front Rebel", ""}, {"Rebel4New", "Front Rebel", ""}, {"Rebel5New", "Front Rebel", ""}, {"Rebel6New", "Front Rebel", ""}, // Hostile Monsters {"AcolyteBlueNew", "Order Acolyte", ""}, {"AcolyteDGreenNew", "Order Acolyte", ""}, {"AcolyteGoldNew", "Order Acolyte", ""}, {"AcolyteGrayNew", "Order Acolyte", ""}, {"AcolyteLGreenNew", "Order Acolyte", ""}, {"AcolyteRedNew", "Order Acolyte", ""}, {"AcolyteRustNew", "Order Acolyte", ""}, {"AcolyteShadowNew", "Shadow Acolyte", ""}, {"AcolyteTanNew", "Order Acolyte", ""}, {"AcolyteNew", "Order Acolyte", ""}, {"OStalkerNew", "Order Stalker", ""}, {"SentinelNew", "Order Sentinel", ""}, {"CrusaderNew", "Order Crusader", ""}, {"TemplarNew", "Order Templar", ""}, {"CeilingTurretNew", "Ceiling Turret", ""}, {"ReaverNew", "Order Reaver", ""}, {"InquisitorNew", "Order Inquisitor", ""}, {"DarkInquisitor", "Order Dark Inquisitor", ""}, // Special {"AlienSpectre1Model", "\cfGhost of The Programmer's Spectre\c-", ""}, {"AlienSpectre2Model", "\cfGhost of The Bishop's Spectre\c-", ""}, {"AlienSpectre3Model", "\cfGhost of The Oracle's Spectre\c-", ""}, {"AlienSpectre4Model", "\cfGhost of Macil's Spectre\c-", ""}, {"AlienSpectre5Model", "\cfGhost of The Loremaster's Spectre\c-", ""}, // Special or Boss Monsters {"ProgrammerNew", "\cfThe Programmer\c-", ""}, {"StrifeBishopNew", "\cfThe Bishop\c-", ""}, {"OracleNew", "\cfThe Oracle\c-", ""}, {"Macil1New", "\cfMacil, Leader of the Front\c-", ""}, {"Macil2New", "\cfMacil, Leader of the Front\c-", ""}, {"LoremasterNew", "\cfThe Loremaster\c-", ""}, {"AlienSpectre1New", "\cfThe Programmer's Spectre\c-", ""}, {"AlienSpectre2New", "\cfThe Bishop's Spectre\c-", ""}, {"AlienSpectre3New", "\cfThe Oracle's Spectre\c-", ""}, {"AlienSpectre4New", "\cfMacil's Spectre\c-", ""}, {"AlienSpectre5New", "\cfThe Loremaster's Spectre\c-", ""}, {"EntityBossNew", "\cfThe Entity: The One God\c-", ""}, {"EntitySecondNew", "\cfMiniature Entity\c-", ""}, {"EntityAscended", "\cfThe Entity: The One God: Ascendant\c-", ""}, // Touhou Doom Characters/Monsters // Minions {"Fairy1New", "Lesser Fairy [blue]", ""}, {"Fairy2New", "Greater Fairy [blue]", ""}, {"Fairy3New", "Lesser Fairy [pink]", ""}, {"Fairy4New", "Greater Fairy [pink]", ""}, {"Fairy5New", "Greater Fairy [red]", ""}, // Bosses and Mid-Bosses {"RumiaMidBossNew", "Rumia", ""}, {"RumiaNew", "Rumia", ""}, {"DaiyouseiNew", "Daiyousei", ""}, {"CirnoNew", "Cirno", ""}, {"MeilingMidBossNew", "Hong Meiling", ""}, {"MeilingNew", "Hong Meiling", ""}, // The City Of The Damned: Apocalypse Monsters // Monsters and Creepy-Crawlies {"MiniSpiderNew", "Spider [smaller]", ""}, {"ShotgunCultistNew", "Darkmoon Cultist [shotgun]", ""}, {"TommyGunCultistNew", "Darkmoon Cultist [tommy gun]", ""}, {"ThrallNew", "Darkmoon Cultist [magician]", ""}, {"NightmareNew", "Nightmare", ""}, {"SirenNightmareNew", "MEGA Nightmare", ""}, {"VulgarNew", "Vulgar", ""}, {"ClayDevilNew", "Clay Devil", ""}, {"SoulHarvesterNew", "Soul Harvester", ""}, {"ESoulNew", "Ethereal Soul", ""}, {"DEWraithNew", "Wraith of the Eclipse", ""}, {"ButcherZombieNew", "Bloated Butcher", ""}, {"BloodZombieNew", "Axe Zombie", ""}, // Mini Bosses {"HellHoundNew", "Hell Hound", ""}, {"LargeSpiderNew", "Spider [huge]", ""}, {"TCOTDAShadowNew", "Grand Shadow Creature", ""}, {"ApprenticeNew", "Darkmoon Grand Apprentice", ""}, // Final Bosses {"ThamuzNew", "\cfThamuz, The Dark God\c-", ""}, {"TchernobogNew", "\cfTchernobog, The One That Binds\c-", ""}, // Strange Aeons {"Roach", "Roach", ""}, {"Devil", "Devil Imp", ""}, {"Grell", "Grell", ""}, {"UndeadHunter", "Hunter of Leng", ""}, {"UndeadPriest", "Chieftain of Leng", ""}, {"SlimeWorm", "Flayworm", ""}, {"DemonWizard", "Demon Wizard", ""}, {"GlaakiSpawn", "Spawn of Glaaki", ""}, {"BeamRevenant", "Beam Revenant", ""}, {"Skeleton", "Skeleton Drone", ""}, {"Fleshspawn", "Flesh Spawn", ""}, {"Dhole", "Dhole", ""}, {"SpiderBaby", "Rail Arachontron", ""}, {"SpiderGod", "The Spinner in Darkness", ""}, {"SpiderGodling", "Spinner's Spawn", ""}, {"LengSpider", "Leng Spider", ""}, {"LengSpiderling", "Leng Spiderling", ""}, {"StarVampire", "Star Vampire", ""}, {"PurpleTentacle", "Purple Tentacle", ""}, {"DShambler", "Dimensional Shambler", ""}, {"NyarlathotepLesser", "\cfThe Crawling Chaos?\c-", ""}, {"Nyarlathotep", "\cfNyarlathotep, The Crawling Chaos\c-", ""}, {"StarSpawn", "\cfStar Spawn of Cthulhu\c-", ""}, // Knee Deep In ZDoom {"KDIZDChaingunner", "Chaingun Guy", ""}, {"DemonCube", "Demon Cube", ""}, {"HellsFury", "Hell's Fury", ""}, {"MaulerDemon", "Mauler Pinky", ""}, {"RapidFireTrooper", "Rapid Assault Zombieman", ""}, {"RifleZombie", "Rifle Zombie", ""}, {"StoneImp", "Stone Imp", ""}, {"Magmantis", "\cfMagmantis, Guardian of Deimos\c-", ""}, // Unloved {"ChainsawZombieNew", "Chainsaw Zombie", ""}, {"BloodFiendNew", "Blood Fiend Pinky", ""}, {"LurkerNew", "Blood Fiend Lurker", ""}, {"BatFamiliarNew", "Bat Familiar", ""}, {"DragonFamiliarNew", "Dragon Familiar", ""}, {"LordofHeresyNew", "Heresy Lord", ""}, {"ImpWarlordNew", "Imp Warlord", ""}, {"SatyrNew", "Satyr", ""}, {"ShadowNew", "Shadow", ""}, {"CultistNew", "Cultist", ""}, {"UnlovedAcolyteNew", "Acolyte", ""}, {"UnlovedDiscipleNew", "Disciple", ""}, {"UnlovedApprenticeNew", "Apprentice", ""}, {"WickedNew", "Wicked", ""}, {"AvatarNew", "\cfThe Avatar\c-", ""}, // Epic 2 {"StrangeAlien", "Strange Alien Creature", ""}, // DUMP3 {"AdolfHitlerDS", "\cfAdolf Hitler", ""}, {"Benellus1DS", "\cfBenellus, God of Shotguns", ""}, {"Benellus2DS", "\cfBenellus, God of Shotguns", ""}, {"Benellus3DS", "\cfBenellus, God of Shotguns", ""}, // Doom 64 Retribution {"DSZombieman64", "Zombieman", ""}, {"DSShotgunGuy64", "Shotgun Guy", ""}, {"DSDoomImp64", "Imp", ""}, {"DSNightmareImp64", "Nightmare Imp", ""}, {"DSDemon64", "Pinky Demon", ""}, {"DSSpectre64", "Spectre", ""}, {"DSLostSoul64", "Lost Soul", ""}, {"DSLostSoul642", "REALLY Annoying Lost Soul", ""}, {"DSCacodemon64", "Cacodemon", ""}, {"DSHellKnight64", "Hell Knight", ""}, {"DSBaronofHell64", "Baron of Hell", ""}, {"DSArachnotron64", "Arachnotron", ""}, {"DSPainElemental64", "Pain Elemental", ""}, {"DSFatso64", "Mancubus", ""}, {"DSCyberdemon64", "Cyberdemon", ""}, {"DSMotherDemon64", "\cfThe Mother of all Demons", ""}, // The Ultimate Torment and Torture // Allied Marines {"FistMarine", "Space Marine [Grappler]", ""}, {"ChainsawMarine", "Space Marine [Chainsaw]", ""}, {"BerserkMarine", "Space Marine [Berserked]", ""}, {"PistolMarine", "Space Marine [Pistol]", ""}, {"ShotgunMarine", "Space Marine [Shotgun]", ""}, {"SuperShotgunMarine", "Space Marine [Super Shotgun]", ""}, {"ChaingunMarine", "Space Marine [Chaingun]", ""}, {"RocketMarine", "Space Marine [Rocket Launcher]", ""}, {"PlasmaRifleMarine", "Space Marine [Plasma Rifle]", ""}, {"RailgunMarine", "Space Marine [Railgun]", ""}, {"BFGMarine", "Space Marine [BFG9000]", ""}, // Monsters {"TNTSpider", "Giant Spider", ""}, {"TNTMiniSpider", "Small Spider", ""}, {"SourceGuardian", "\cgGuardian of the Source", ""}, {"TheSource", "\cfThe Source of All Evil", ""} // Strange Aeons [TBA] }; Script "LifebarDisplayClientSide" (void) CLIENTSIDE { int debuglifebar = GetCVar("dvdsdebug_lifebardisplaystuff"); While(GetCVar("dvds_actorlifebars") && MiscellaneousVars[25001] > 0) { int activator; activator = ActivatorTid(); SetActivatorToTarget(0); int OldActivator; OldActivator = ActivatorTid(); Delay(1); int class_index; int xpos = 0.0; int ypos = 0.0; str monstertag = GetActorProperty(0, APROP_NameTag); str monstername; for (int i = 0; i < 461; i++) { if (CheckActorClass(0, dvds_monsternames[i][0])) class_index = i; } monstername = dvds_monsternames[class_index][1]; int hpcritlevel = GetUserVariable(0, "user_HPCritRange"); int hplowlevel = GetUserVariable(0, "user_HPLowRange"); int hphalflevel = (GetUserVariable(0, "user_MaxHP") / 2); int actormaxhp; int actorcurrhp; int hppercentdisp; int nonstatmonster = 0; int dormantmonster = 0; //if (GetActorClass(0) == "PracticeTarget" || GetActorClass(0) == "PracticeTarget2") nonstatmonster = 1; if (debuglifebar == 1) { SetFont("SMALLFONT"); PrintBold(s:"\cgCritLevel: ",d:hpcritlevel, s:"\n\ciLowLevel: ",d:hplowlevel, s:"\n\ckHalfLevel: ",d:hphalflevel, s:"\nNoStatMonster: ",d:nonstatmonster, s:"\nActivator: ",d:activator, s:"\nOldActivator: ",d:OldActivator); } if (ActivatorTID() != Activator && nonstatmonster == 0) { actormaxhp = GetUserVariable(0, "user_MaxHP"); actorcurrhp = GetActorProperty(0, APROP_Health); dormantmonster = CheckFlag(0, "DORMANT"); if (debuglifebar == 1) { SetFont("SMALLFONT"); PrintBold(s:"Activator [1]: ",d:Activator,s:" \cxActorMaxHP: ",d:actormaxhp,s:""); } SetActivator(Activator); If (MenuSystemVars[0] == 0 && actormaxhp != 0 && dormantmonster == 0) { if (debuglifebar == 1) { SetFont("SMALLFONT"); PrintBold(s:"\cxActorMaxHP: ",d:actormaxhp,s:""); } hppercentdisp = (actorcurrhp * 100 / actormaxhp); if (hppercentdisp < 0) hppercentdisp = 0; if (hppercentdisp > 100) hppercentdisp = 100; int acounter; int bcounter; SetActivatorToTarget(0); If (ActivatorTID() != Activator) { if (debuglifebar == 1) PrintBold(s:"Activator [2]: ",d:Activator,s:""); If (CheckActorProperty(0, APROP_Friendly, 0)) { If (CheckInventory("LDLegendaryMonsterTracker") > 0) SetFont("MLRHPBAR"); else If (GetUserVariable(0, "user_willbecomelegendary") > 0) SetFont("MLRHPBAR"); else SetFont("MNRHPBAR"); } else If (CheckActorProperty(0, APROP_Friendly, 1)) { If (CheckInventory("LDLegendaryMonsterTracker") > 0) SetFont("MLGHPBAR"); else If (GetUserVariable(0, "user_willbecomelegendary") > 0) SetFont("MLGHPBAR"); else SetFont("MNGHPBAR"); } int stealthcheck = GetUserVariable(0, "user_isstealth"); str stealthcheck2 = ""; if (stealthcheck > 0) stealthcheck2 = "?"; int levelcheck = GetUserVariable(0, "user_monsterlevel"); int leveldifference = levelcheck - PlayerLevel; int Speed = GetActorProperty(0,APROP_Speed); //Set's Final Speed values int BaseSpeed = GetUserVariable(0, "actorbasespeed"); //Set's Final Speed values If (CheckInventory("LDLegendaryMonsterTransformed") == 0 && CheckInventory("LDLegendaryMonsterTracker") > 0) BaseSpeed = GetUserVariable(0, "actorbasespeedLDL"); else If (GetUserVariable(0, "user_legendaryevolved") > 0) BaseSpeed = GetUserVariable(0, "actorbasespeedLDL"); int Attack = GetActorProperty(0,APROP_DamageMultiplier); int Defense = GetActorProperty(0,APROP_DamageFactor); int Balance = GetActorProperty(0,APROP_Mass); str monstercolor = ""; If (CheckActorProperty(0, APROP_Friendly, 0)) monstercolor = "\c[Red]"; else If (CheckActorProperty(0, APROP_Friendly, 1)) monstercolor = "\c[Green]"; str isfriendly = ""; If (CheckActorProperty(0, APROP_Friendly, 0)) isfriendly = ""; else { If (GetUserVariable(0, "user_charmed") > 0) isfriendly = " \cx(CHARMED)"; else isfriendly = " \cn(Friend)"; } str willbecomelegendary = ""; If (GetUserVariable(0, "user_legendaryevolved") == 0 && GetUserVariable(0, "user_willbecomelegendary") > 0) willbecomelegendary = " \c[teal](???)"; else If (CheckInventory("LDLegendaryMonsterTransformed") == 0 && CheckActorInventory(0, "LDLegendaryMonsterTracker") > 0) willbecomelegendary = " \c[teal](???)"; str islegendary = ""; If (GetUserVariable(0, "user_legendaryevolved") > 0) islegendary = " \c[purple](LEGENDARY)"; else If (CheckInventory("LDLegendaryMonsterTransformed") > 0) islegendary = " \c[purple](LEGENDARY)"; ypos = MiscFixedVars[1] + 0.0; SetActivator(Activator); SetHudSize (800,600,0); xpos = 400.0; ypos = 100.0; HudMessage (s:"a"; 0, 201, CR_GREEN, xpos, ypos, 0.05); SetFont ("DVDSSMLFONT"); xpos = 400.0; ypos = 100.0; if (GetCVar("dvds_actorlifebarhp") == 1) { HudMessage (d:actorcurrhp, s:"/", d:actormaxhp; 0, 199, CR_WHITE, xpos, ypos, 0.05); } xpos = 400.0; ypos = 116.0; if (GetCVar("dvds_actorlifebarnames") == 1) { if (debuglifebar == 1) HudMessage (s:monstercolor,s:monstername,s:stealthcheck2,s:isfriendly,s:willbecomelegendary,s:islegendary,s:" [",d:OldActivator,s:"]"; 0, 198, CR_WHITE, xpos, ypos, 0.05); else HudMessage (s:monstercolor,s:monstername,s:stealthcheck2,s:isfriendly,s:islegendary; 0, 198, CR_WHITE, xpos, ypos, 0.05); } xpos = 400.0; ypos = 70.0; str speedline = "\c[LightBlue]Speed: "; str speedline2 = "\n"; if (Speed > BaseSpeed) { speedline = "\c[Gold]Speed: "; speedline2 = " (+)\n"; } if (Speed < BaseSpeed) { speedline = "\c[Grey]Speed: "; speedline2 = " (-)\n"; } if (GetCVar("dvds_actorlifebarstats") == 1) { HudMessage (s:speedline,f:Speed,s:speedline2, s:"\c[Olive]Balance: ",d:Balance,s:"\n", s:"\c[Brick]Damage Dealt: ",f:Attack,s:"x\n", s:"\c[Green]Damage Taken: ",f:Defense,s:"x"; 0, 196, CR_WHITE, xpos, ypos, 0.05); } SetFont ("DVDSBIGFONT"); xpos = 274.2; //400.0; ypos = 100.0; //115.0; str textcolor = ""; if (leveldifference <= 0) textcolor = CR_LIGHTBLUE; if (leveldifference >= 0 && leveldifference <= 20) textcolor = CR_GOLD; if (leveldifference >= 21 && leveldifference <= 50) textcolor = CR_ORANGE; if (leveldifference >= 51 && leveldifference <= 100) textcolor = CR_RED; if (leveldifference >= 101 && leveldifference <= 250) textcolor = CR_DARKRED; if (leveldifference >= 251) textcolor = CR_DARKGRAY; HudMessage (d:levelcheck; 0, 197, textcolor, xpos, ypos, 0.05); SetFont ("DVDSSMLFONT"); for (acounter = 0; acounter <= hppercentdisp; acounter++) { bcounter = bcounter + 2.0; SetActivatorToTarget(0); if (actorcurrhp > hphalflevel) { SetFont ("FILLNORM"); } else if (actorcurrhp > hplowlevel && actorcurrhp <= hphalflevel) { SetFont ("FILLCAUT"); } else if (actorcurrhp > hpcritlevel && actorcurrhp <= hplowlevel) { SetFont ("FILLDANG"); } else if (actorcurrhp <= hpcritlevel) { SetFont ("FILLCRIT"); } SetActivator(Activator); SetHudSize (800,600,0); xpos = 303.0 + bcounter; ypos = 100.0; If (actorcurrhp > 0) { hudmessage(s:"A"; 0, acounter+202, CR_GREEN, xpos, ypos, 0.05, 1.0); } } bcounter = 0; acounter = 0; Restart; } } } } If (GetCVar("dvds_actorlifebars") == 1 && MiscellaneousVars[25001] > 0) Restart; } // Quickuse a Vimstone script "QuickuseVimstone" (void) { MiscellaneousVars[25035]++; } // Emulates the various special scripts in Doom 1/2 mode [E1M8 (Barons), E2M8 (Cyberdemons), E3M8 (SpiderMasterminds), E4M6 (Cyberdemons again), MAP07 (Mancubi/Arachnotrons), etc] script "DoomMonsterDeathEmulation" OPEN { int LevelTime, TotalCount1, TotalCount2, TotalCount3, Script1Done, Script1Delay, Script2Done, Script2Delay, Script3Done, Script3Delay, CheckAllScripts; int doomkillscriptdisplays = GetCVar("dvdsdebug_scriptdisplays"); LevelTime = Timer(); if (ModType == 0) // Classic Doom 1/2 / Heretic / Hexen / Strife / Doom64 { /* PrintBold(d:LevelTime,s:" \n", d:TotalCount1,s:" ",d:Script1Done,s:" ",d:Script1Delay,s:" \n", d:TotalCount2,s:" ",d:Script2Done,s:" ",d:Script2Delay,s:" \n", d:TotalCount3,s:" ",d:Script3Done,s:" ",d:Script3Delay); */ if (ClassicDoomType == 4) // Strife { if (GetLevelInfo(LEVELINFO_LEVELNUM) == 29) // Entity's Lair { if (LevelTime > 2 && MiscellaneousVars[299] >= 3 && Script1Done == 0) { Script1Delay++; if (Script1Delay > 34) { Exit_Normal(0); Script1Done++; } if (doomkillscriptdisplays) PrintBold(s:"Script1Delay [MAP29]: ",d:Script1Delay); } } } else if (ClassicDoomType == 3) // Hexen { } else if (ClassicDoomType == 2) // Heretic { } else if (ClassicDoomType == 1) // Doom 1 { } else if (ClassicDoomType == 0 || ClassicDoomType == 5) // Doom 2 or Doom 64 { } else if (ClassicDoomType == 6) // PSXDoom { if (GetLevelInfo(LEVELINFO_LEVELNUM) == 37) // MAP37 [Mancubi (tag2) and Arachnotrons (tag7)] { // Mancubi (tag666) TotalCount1 = ThingCountName("Fatso", 0); TotalCount1 += ThingCountName("DSFatso", 0); TotalCount1 += ThingCountName("Hectebus", 0); TotalCount1 += ThingCountName("Daedabus", 0); if (LevelTime > 2 && TotalCount1 <= 0 && Script1Done == 0) { Script1Delay++; if (Script1Delay > 34) { Floor_LowerToLowest (2, 5); Script1Done++; } if (doomkillscriptdisplays) PrintBold(s:"Script1Delay [MAP37-Mancubus]: ",d:Script1Delay); } // Arachnotrons (tag667) TotalCount2 = ThingCountName("Arachnotron", 0); TotalCount2 += ThingCountName("DSArachnotron", 0); TotalCount2 += ThingCountName("FusionArachnotron", 0); TotalCount2 += ThingCountName("ArachnotronMK2", 0); TotalCount2 += ThingCountName("DSRailArachnotron", 0); if (LevelTime > 2 && TotalCount2 <= 0 && Script2Done == 0) { Script2Delay++; if (Script2Delay > 34) { Floor_RaiseByValue (7, 5, 16); Script2Done++; } if (doomkillscriptdisplays) PrintBold(s:"Script2Delay: [MAP37-Arachnotron]: ",d:Script2Delay); } /* PrintBold(d:LevelTime,s:" \n", d:TotalCount1,s:" ",d:Script1Done,s:" ",d:Script1Delay,s:" \n", d:TotalCount2,s:" ",d:Script2Done,s:" ",d:Script2Delay,s:" \n", d:TotalCount3,s:" ",d:Script3Done,s:" ",d:Script3Delay); */ } } } Delay(1); Restart; } // For the Sceptre's Spin Attack & HellCore Weapons script "WeaponAngleLoop" (int type, int cap, int setangle, int addangle) { int result; if (setangle == 0) // check the cap { if (MiscellaneousVars[20] >= cap) { SetResultValue(1); MiscellaneousVars[20] = 0; } else SetResultValue(0); } else // increment { MiscellaneousVars[20] += type; if (setangle > 0) result = MiscellaneousVars[20]; if (addangle != 0) result += addangle; // Print(d:addangle); SetResultValue(result); } // Print(d:MiscellaneousVars[20],s:"/",d:cap); } // For the Sceptre's Spin Attack & HellCore Weapons script "WeaponAngleLoopSecondary" (int type, int cap, int setangle, int addangle) { int result; if (setangle == 0) // check the cap { if (MiscellaneousVars[163] >= cap) { SetResultValue(1); MiscellaneousVars[163] = 0; } else SetResultValue(0); } else // increment { MiscellaneousVars[163] += type; if (setangle > 0) result = MiscellaneousVars[163]; if (addangle != 0) result += addangle; // Print(d:addangle); SetResultValue(result); } //Print(d:MiscellaneousVars[163],s:"/",d:cap); } script "HellcoreFireMode" (int Check, int WeaponID) { int a; // Print(d:Check,s:" ",d:WeaponID); if (Check > 0) { if (WeaponID == 0) { SetResultValue(MiscellaneousVars[132]); a = MiscellaneousVars[132]; } // Bruiser Fist if (WeaponID == 1) { SetResultValue(MiscellaneousVars[133]); a = MiscellaneousVars[133]; } // Archon Fist if (WeaponID == 2) { SetResultValue(MiscellaneousVars[134]); a = MiscellaneousVars[134]; } // Pyro Fist if (WeaponID == 3) { SetResultValue(MiscellaneousVars[135]); a = MiscellaneousVars[135]; } // Diabloist Hand if (WeaponID == 4) { SetResultValue(MiscellaneousVars[267]); a = MiscellaneousVars[267]; } // Hades Elemental Soul if (WeaponID == 5) { SetResultValue(MiscellaneousVars[268]); a = MiscellaneousVars[268]; } // Hades Overlord Soul if (WeaponID == 6) { SetResultValue(MiscellaneousVars[141]); a = MiscellaneousVars[141]; } // Archvile Soul //PrintBold(d:a); } else { if (WeaponID == 0) // Bruiser Fist { MiscellaneousVars[132]++; if (MiscellaneousVars[132] > 2) MiscellaneousVars[132] = 0; if (MiscellaneousVars[132] == 0) Print(s:"'Spread Wave' Selected."); if (MiscellaneousVars[132] == 1) Print(s:"'Bruiser Blast' Selected."); if (MiscellaneousVars[132] == 2) Print(s:"'Ground Wave' Selected."); } if (WeaponID == 1) // Archon Fist { MiscellaneousVars[133]++; if (MiscellaneousVars[133] > 2) MiscellaneousVars[133] = 0; if (MiscellaneousVars[133] == 0) Print(s:"'Tri-Plasma' Selected."); if (MiscellaneousVars[133] == 1) Print(s:"'Plasma Wave' Selected."); if (MiscellaneousVars[133] == 2) Print(s:"'Comet Attack' Selected."); } if (WeaponID == 2) // Pyro Fist { MiscellaneousVars[134]++; if (MiscellaneousVars[134] > 2) MiscellaneousVars[134] = 0; if (MiscellaneousVars[134] == 0) Print(s:"'Pyromatic Shot' Selected."); if (MiscellaneousVars[134] == 1) Print(s:"'Pyroball' Selected."); if (MiscellaneousVars[134] == 2) Print(s:"'Pyromatic Firebomb' Selected."); } if (WeaponID == 3) // Diabloist Hand { MiscellaneousVars[135]++; if (MiscellaneousVars[135] > 4) MiscellaneousVars[135] = 0; if (MiscellaneousVars[135] == 0) Print(s:"'Gravitaton Glare' Selected."); if (MiscellaneousVars[135] == 1) Print(s:"'Diabloic Immolation' Selected."); if (MiscellaneousVars[135] == 2) Print(s:"'Fire Thrower' Selected."); if (MiscellaneousVars[135] == 3) Print(s:"'Fire Blast' Selected."); if (MiscellaneousVars[135] == 4) Print(s:"'Snakes of Fire' Selected."); } if (WeaponID == 4) // H Elemental Soul { MiscellaneousVars[267]++; if (MiscellaneousVars[267] > 1) MiscellaneousVars[267] = 0; if (MiscellaneousVars[267] == 0) Print(s:"'Spread Shot' Selected."); if (MiscellaneousVars[267] == 1) Print(s:"'Hades Bolt' Selected."); } if (WeaponID == 5) // H Overlord Soul { MiscellaneousVars[268]++; if (MiscellaneousVars[268] > 1) MiscellaneousVars[268] = 0; if (MiscellaneousVars[268] == 0) Print(s:"'Storm Shot' Selected."); if (MiscellaneousVars[268] == 1) Print(s:"'Hyper Spread Shot' Selected."); } if (WeaponID == 6) // Archvile Soul { MiscellaneousVars[141]++; if (MiscellaneousVars[141] > 1) MiscellaneousVars[141] = 0; if (MiscellaneousVars[141] == 0) Print(s:"'Vilish Immolation' Selected."); if (MiscellaneousVars[141] == 1) Print(s:"'Vilish Flame Jet' Selected."); } } } //******************** script "CheckPlayerIfDead" (void) { if (MiscellaneousVars[25001] < 1) SetResultValue(1); else SetResultValue(0); } // When an attack or a healing ability is activated while Tension is active, starts the countdown for it to fade. script "StartTensionCountDown" (void) { int random1; int misc1 = (MiscellaneousVars[10055] * 2) + (MiscellaneousVars[10056] * 5) + 10; int misc2 = (MiscellaneousVars[10055] * 2) + (MiscellaneousVars[10056] * 5) + 10; if (MiscellaneousVars[181] > 0 && MiscellaneousVars[184] == 0) { if (random(1,1000) > misc1) // 1% An attack will NOT start the countdown { MiscellaneousVars[184] = 1; random1 = random(1,misc2); if (random1 == 1) MiscellaneousVars[183] = MiscellaneousVars[183] * 3 / 4; // 10% Chance for the timer to be cut by 25% } } } // Activate's the player's whistle ability, which will awaken as many monsters as possible in a certain area script "UseWhistle" (void) { int PX = GetActorX(0); int PY = GetActorY(0); int PZ = GetActorZ(0); int WhistleStamUse = 200; int BaseStamPenalty = MiscellaneousVars[46]; if (MiscellaneousVars[25115] > 0) WhistleStamUse = WhistleStamUse * 3 / 4; if (MiscellaneousVars[25001] > 0 && MiscellaneousVars[168] == 0 && MiscellaneousVars[21] >= WhistleStamUse && MiscellaneousVars[4] == 0) { SpawnForced("PlayerWhistle",PX,PY,PZ+(32*65536),0,0); NoiseAlert(0,0); MiscellaneousVars[21] -= WhistleStamUse; MiscellaneousVars[168] = 24; // Set's cooldown for whistling BaseStamPenalty = (BaseStamPenalty * WhistleStamUse) / MiscellaneousVars[22]; if (BaseStamPenalty <= random(1,2)) BaseStamPenalty = random(1,2); MiscellaneousVars[94] -= BaseStamPenalty; } } script "PlayerWeaponTest" ENTER { PlayerWeapon = GetWeapon(); // PrintBold(s:PlayerWeapon); delay(1); restart; } script "CrisisMultiplier" (int type) { int base = 1; if (type <= 1) type = 1; if (MiscellaneousVars[110007] == 1) { base = GetCVar("dvds_monstercrisismulti"); base /= type; if (base <= 1) base = 1; } // Debug Information if (MiscellaneousVars[100006] > 0) { PrintBold(s:"Crisis Multiplier: ",d:GetCVar("dvds_monstercrisismulti"), s:"\ndivider: ",d:type, s:"\n\nResult: ",d:base); } SetResultValue(base); } // Mana Drain script script "ManaDrain" (int baseamount, int draintype, int ignoredefense, int exceedmax) { int MaxManaDouble = MaxMana * 2; int basedrain = baseamount; int firstmana = CurrentMana; // type 1 drains a % of magic instead of a set amount if (draintype == 1) { baseamount = (baseamount * MaxMana) / 100; } int manalossreduction = 100; if (MiscellaneousVars[25107] > 0) { manalossreduction -= 10; } // Evenstar Necklace [Reduces Mana loss by 10%] if (MiscellaneousVars[25109] > 0) { manalossreduction -= 2; } // Anubis Cufflinks [MP reduction of 2 + 2%] if (MiscellaneousVars[25113] > 0) { manalossreduction -= 5; } // Balrog's Ring [MP reduction of 5 + 5%] if (ignoredefense == 0) baseamount = baseamount * manalossreduction / 100; if (baseamount != 0) CurrentMana -= baseamount; if (CurrentMana < 1) CurrentMana = 0; if (CurrentMana > MaxMana && exceedmax == 0) CurrentMana = MaxMana; if (CurrentMana > MaxManaDouble && exceedmax == 1) CurrentMana = MaxManaDouble; if (MiscellaneousVars[100006] > 0) { PrintBold(s:"Base Drain: ",d:basedrain, s:"\nTrue Drain: ",d:baseamount, s:"\n\n", s:"\nMana Loss Reduction: ",d:manalossreduction, s:"\n", s:"\nMax Mana: ",d:MaxMana, s:"\nMax Mana [Double]: ",d:MaxManaDouble, s:"\n", s:"\nMana [Before]: ",d:firstmana, s:"\nMana [After]: ",d:CurrentMana, s:"\n"); } } //********************************************************** //*SIGIL STUFF - Code by "FishyClockwork" from ZDoom forums* //********************************************************** Script "NNSigilDamageUser" (int damage) { int currenthealth = MiscellaneousVars[25001]; // damage = % of damage taken instead of a direct value [DV-DS specific] damage = MaxHealthTrue * damage / 100; int ignorecommand = 0; if (MiscellaneousVars[195] > 0) ignorecommand++; // If in mercy invincibility, no effect if (MiscellaneousVars[25014] > 0) ignorecommand++; // if invulnerable, no effect if (MiscellaneousVars[25040] > 0) ignorecommand++; // if invulnerable, no effect if (MiscellaneousVars[25045] > 0) ignorecommand++; // if GodMode, no effect if (MiscellaneousVars[25046] > 0) ignorecommand++; // if GodMode2, no effect if (ignorecommand == 0) { SetActorProperty(0,APROP_HEALTH,currenthealth-damage); SetResultValue(damage); } else { SetResultValue(0); } } Script "NNSigilPieceCount" (void) { SetResultValue( GetSigilPieces() ); } bool monitoring_players[8]; bool players_returned[8]; Script "NNSigilMonitor" ENTER { int current_pieces; int previous_pieces = GetSigilPieces(); //Takes care of first time visits //(related to bug #3 mentioned in EDIT4) int player = PlayerNumber(); if ( monitoring_players[player] ) //Make sure there's only one instance terminate; //of this script running per player. monitoring_players[player] = true; //(as some goof might try to puke this) while( monitoring_players[player] ) { players_returned[player] = false; Delay(1); if ( GetActorProperty(0, APROP_Health) <= 0 ) continue; //Don't terminate if dead (could be a COOP or DM game) current_pieces = GetSigilPieces(); //If you find this next part undesirable, you can //just put 'continue;' right after the 'if' statement. if ( !current_pieces ) { if ( CheckInventory("NNSigil") ) //If you don't have the real one TakeInventory("NNSigil", 1); //you can't have the NN one continue; } else if ( !CheckInventory("NNSigil") ) GiveInventory("NNSigil", 1); if ( CheckWeapon("Sigil") ) { SetWeapon("NNSigil"); continue; } if ( previous_pieces != current_pieces ) { previous_pieces = current_pieces; if ( players_returned[player] ) //Takes care of subsequent visits continue; //(related to bug #3 mentioned in EDIT4) if ( CheckWeapon("NNSigil") ) //Don't run upgrade animation hack SetWeapon("Sigil"); //if player is holding another weapon. } } } Script "NNSigilStopMonitoring" (int player) DISCONNECT { monitoring_players[player] = false; } Script "NNSigilPlayerReturned" RETURN { players_returned[PlayerNumber()] = true; } //And now for some multiplayer related nonsense, bleh. Script "NNSigilPlayerDeath" DEATH { if ( !(GetCVar("dmflags2") & 2) || !CheckWeapon("NNSigil") ) terminate; int piece = GetSigilPieces(); if ( !piece ) piece = 1; //Shouldn't happen, but better safe than sorry SpawnSpot( strparam(s:"Sigil", d:piece), 0 ); } // Healing for NON-Players [via Healing Projectiles] Script "Healing_Actor" (int type, int returntype) { int HealCap, HealAmount; int oldhealthvalue, finalhealvalue; ACS_NamedExecuteAlways("StartTensionCountDown",0,0,0,0); if (Type == 0) // Minor Healing { HealCap = GetUserVariable(0,"user_MaxHP"); HealAmount = random(MiscellaneousVars[281],MiscellaneousVars[282]); if (CharacterClass == 2) ActivatorSound("healing_dq",127); else ActivatorSound("HealSpell1",127); if (CharacterClass == 2 && random(1,16) == 1) MiscellaneousVars[25206]++; } if (Type == 1) // Healing { HealCap = GetUserVariable(0,"user_MaxHP"); HealAmount = random(MiscellaneousVars[283],MiscellaneousVars[284]); if (CharacterClass == 2) ActivatorSound("healing_dq",127); else ActivatorSound("HealSpell1",127); if (CharacterClass == 2 && random(1,16) == 1) MiscellaneousVars[25207]++; } if (Type == 2) // Major Healing { HealCap = GetUserVariable(0,"user_MaxHP") * 2; HealAmount = random(MiscellaneousVars[285],MiscellaneousVars[286]); if (CharacterClass == 2) ActivatorSound("healing_dq",127); else ActivatorSound("HealSpell1",127); if (CharacterClass == 2 && random(1,16) == 1) MiscellaneousVars[25208]++; } if (returntype == 0) { oldhealthvalue = GetActorProperty(0,APROP_HEALTH); finalhealvalue = oldhealthvalue + HealAmount; if (oldhealthvalue < HealCap) { if (finalhealvalue < 1) finalhealvalue = 1; // Prevents the game from killing the target when trying to heal >__>; if (finalhealvalue > HealCap) finalhealvalue = HealCap; SetActorProperty(0,APROP_HEALTH,finalhealvalue); } } else { SetResultValue(HealAmount); } } Script "Recall" (void) NET { MiscellaneousVars[25029]++; } Script "RecallAll" (void) NET { MiscellaneousVars[25030]++; } Script "Magnetize" (void) NET { MiscellaneousVars[25031]++; } Script "AttackTarget" (void) NET { int PX = GetActorX(0); int PY = GetActorY(0); int PZ = GetActorZ(0); int WhistleStamUse = 200; if (MiscellaneousVars[25115] > 0) WhistleStamUse = WhistleStamUse * 3 / 4; int BaseStamPenalty = MiscellaneousVars[46]; int oldTID, target; If (SetActivator(0,AAPTR_PLAYER_GETTARGET)) // Get the target of the activator. If it fails because there is none nothing will happen. { if (MiscellaneousVars[25001] > 0 && MiscellaneousVars[168] == 0 && MiscellaneousVars[21] >= WhistleStamUse && MiscellaneousVars[4] == 0) { oldTID = ActivatorTID(); // Save the TID of the target. if (CheckFlag(oldTID, "FRIENDLY") == FALSE) // Don't set target to another ally. :V { target = UniqueTID(); // Get a new unique TID for the target actor. Thing_ChangeTID(0, target); // Set that TID to the actor. SetActivator(1000); // Set the activator to the actor with the given TID. SetPointer(AAPTR_TARGET, target); // Give a new target to it. Thing_ChangeTID(target,oldTID); // Restore the previous TID, because it might be used already by other scripts. SpawnForced("PlayerWhistle",PX,PY,PZ+(32*65536),0,0); MiscellaneousVars[21] -= WhistleStamUse; MiscellaneousVars[168] = 24; // Set's cooldown for whistling BaseStamPenalty = (BaseStamPenalty * WhistleStamUse) / MiscellaneousVars[22]; if (BaseStamPenalty <= random(1,2)) BaseStamPenalty = random(1,2); MiscellaneousVars[94] -= BaseStamPenalty; } else { MiscellaneousVars[25201]++; // Plays "inv_fail" } } else { MiscellaneousVars[25201]++; // Plays "inv_fail" } } else { MiscellaneousVars[25201]++; // Plays "inv_fail" } } script "PopBubbles" (void) { SetActorState(5001,"Pop",TRUE); } //*************************************************** //*************************************************** //**** ZSCRIPT REFERENCE/CHECKER/SETTING SCRIPTS **** //*************************************************** //*************************************************** // REFERENCE/CHECK/SET: Returns the Character ID script "CheckCharacterClass" (int type, int value) { if (type <= 0) SetResultValue(CharacterClass); if (type == 1) CharacterClass = value; // Set if (type == 2) CharacterClass += value; // Add if (type == 3) CharacterClass -= value; // Subtract if (type == 4) CharacterClass *= value; // Multiply if (type == 5 && value != 0) CharacterClass /= value; // Divide if (type == 6 && value != 0) CharacterClass %= value; // Modulo if (type == 7) CharacterClass &= value; // AND if (type == 8) CharacterClass |= value; // OR if (type == 9) CharacterClass ^= value; // XOR if (type == 10) CharacterClass <<= value; // Shift Left if (type == 11) CharacterClass >>= value; // Shift Right } // ZSCRIPT: Used to transfer width/height/hud to ACS's SetHudSize Script script "ZSC_SetHudSize" (int width, int height, int useHUD) { SetHudSize(width, height, useHUD); } // REFERENCE/CHECK/SET: Checks or Sets Buff Timers via DECORATE/ZSCRIPT script "BuffTimer" (int type, int buffid, int time) { if (type == 0) // List { Print(s:"", s:"0 = Night Vision\n", s:"1 = Invisibility\n", s:"2 = Flight\n", s:"3 = Stealth\n", s:"4 = Invulnerability\n", s:"5 = Time Freeze\n", s:"6 = Fear Aura\n", s:"7 = Divine Avatar\n", s:"8 = Spreader Aura Lv. 1\n", s:"9 = Spreader Aura Lv. 2\n", s:"10 = Oomph\n", s:"11 = Buff\n", s:"12 = Acceleratle\n", s:"13 = Blunt\n", s:"14 = Sap\n", s:"15 = Deceleratle\n", s:"16 = Poison\n", s:"17 = Corrosion\n", s:"18 = Fatigue\n", s:"19 = Blind\n", s:"20 = Sleep\n", s:"21 = Silence\n", s:"22 = BioShield\n", s:"23 = Berserk\n", s:"24 = Regen\n", s:"25 = Arcana Force\n", s:"\n", s:"129 = ??????\n"); } int debuffsound = 0; if (buffid == 13 || buffid == 14 || buffid == 15 ) { debuffsound = 1; } if (type == 1) // Set timer [ignore all conditions like Buddha/God-Mode] { PowerupTimer[buffid] = time * 35; if (debuffsound == 1 && time > 0) MiscellaneousVars[25202]++; PrintBuffMessage(buffid); } if (type == 2) // Add/Subtract timer [ignore all conditions like Buddha/God-Mode] { PowerupTimer[buffid] += (time * 35); if (debuffsound == 1 && time > 0) MiscellaneousVars[25202]++; PrintBuffMessage(buffid); } if (type == 3) // Set timer [in tics] [ignore all conditions like Buddha/God-Mode] { PowerupTimer[buffid] = time; if (debuffsound == 1 && time > 0) MiscellaneousVars[25202]++; PrintBuffMessage(buffid); } if (type == 4) // Add/Subtract timer in tics] [ignore all conditions like Buddha/God-Mode] { PowerupTimer[buffid] += time; if (debuffsound == 1 && time > 0) MiscellaneousVars[25202]++; PrintBuffMessage(buffid); } int ignorecommand = 0; if (MiscellaneousVars[195] > 0) ignorecommand++; // If in mercy invincibility, no effect if (MiscellaneousVars[25014] > 0) ignorecommand++; // if invulnerable, no effect if (MiscellaneousVars[25040] > 0) ignorecommand++; // if invulnerable, no effect if (ignorecommand == 0) { if (type == 5) // Set timer [do NOT ignore conditions like Buddha/God-Mode] { PowerupTimer[buffid] = time * 35; if (debuffsound == 1 && time > 0) MiscellaneousVars[25202]++; PrintBuffMessage(buffid); } if (type == 6) // Add/Subtract timer [do NOT ignore conditions like Buddha/God-Mode] { PowerupTimer[buffid] += (time * 35); if (debuffsound == 1 && time > 0) MiscellaneousVars[25202]++; PrintBuffMessage(buffid); } if (type == 7) // Set timer [in tics] [do NOT ignore conditions like Buddha/God-Mode] { PowerupTimer[buffid] = time; if (debuffsound == 1 && time > 0) MiscellaneousVars[25202]++; PrintBuffMessage(buffid); } if (type == 8) // Add/Subtract timer in tics] [do NOT ignore conditions like Buddha/God-Mode] { PowerupTimer[buffid] += time; if (debuffsound == 1 && time > 0) MiscellaneousVars[25202]++; PrintBuffMessage(buffid); } if (MiscellaneousVars[100006] > 0) { if (type == 1 || type == 2 || type == 5 || type == 6) { PrintBold(s:"Time Added [Seconds]: ",d:time, s:"\nBuff/Debuff Type: ",d:buffid); } if (type == 3 || type == 4 || type == 7 || type == 8) { PrintBold(s:"Time Added [Tics]: ",d:time, s:"\nBuff/Debuff Type: ",d:buffid); } } } if (PowerupTimer[buffid] < 0) PowerupTimer[buffid] = 0; if (PowerupTimer[buffid] > 99999999) PowerupTimer[buffid] = 99999999; } // REFERENCE/CHECK/SET: Checks Stats for DECORATE/ZSCRIPT use script "StatCheck" (int type) { if (type == 0) SetResultValue(PlayerLevel); // Level if (type == 1) SetResultValue(MaxHealthTrue); // Max HP if (type == 2) SetResultValue(MaxMana); // Max MP if (type == 3) SetResultValue(MiscellaneousVars[31]); // Agility if (type == 4) SetResultValue(MiscellaneousVars[32]); // Defense if (type == 5) SetResultValue(MiscellaneousVars[33]); // Deftness if (type == 6) SetResultValue(MiscellaneousVars[34]); // Sorcery if (type == 7) SetResultValue(MiscellaneousVars[35]); // Strength if (type == 8) SetResultValue(MiscellaneousVars[36]); // Therapeusis if (type == 9) SetResultValue(MiscellaneousVars[200]); // Jumping if (type == 10) SetResultValue(MiscellaneousVars[201]); // Balance/Mass if (type == 11) SetResultValue(MiscellaneousVars[25]); // Aeon Points if (type == 12) SetResultValue(MiscellaneousVars[21]); // Stamina [Current] if (type == 13) SetResultValue(MiscellaneousVars[22]); // Stamina [Maximum] if (type == 14) SetResultValue(CurrentMana); // Current MP } // REFERENCE/CHECK/SET: Checks a buff/debuff's timer through ACS for ZSCRIPT/DECORATE :P script "GetBuffTimer" (int bufftype, int type, int perkvalue) { // [0] - Light // [1] - Invisibility // [2] - Flight // [3] - Stealth // [4] - Invulnerability // [5] - Time Freeze // [6] - Fear/Terror Aura // [7] - Divine Avatar // [8] - Spreader Aura Lv. 1 // [9] - Spreader Aura Lv. 2 // [10] - Oomph [aka Bikill] (2x damage, up to +8% crit rate) // [11] - Buff (2x defense, up to +10% survival rate, 2x balance) // [12] - Accelerate (1.33x Speed, up to +10% evade rate, 1.25x jumping) // [13] - Blunt (0.5x damage, down to -8% crit rate) // [14] - Sap (0.5x defense, down to -10% survival rate, 0.75x balance) // [15] - Decelerate (0.66x Speed, down to -10% evade rate, 0.875x jumping) // [16] - Poison (HP/Health is damaged every so many tics, down to as low as 1 [cannot kill the player]) // [17] - Corrosion (AP/Armor is damaged every so many tics, down to as low as 0) // [18] - Fatigue (HP/Mana/Stamina Regeneration and Hellcore Cooldown are drastically reduced in speed) // [19] - Blind (exactly as on the tin :V) // [20] - Sleep (can't move, see or perform actions, 1.25x more damage from attacks, however HP/MP/Stamina regeneration rates are 5x) // [21] - Silence/Mute (spells are locked out) // [22] - RadSuit (mostly a proper timer for the radsuit) // [23] - Berserk (mostly a proper timer for the berserk powerup) // [24] - Regen (HP/MP/Stamina regeneration rates are 10x) // [25] - Arcana Force // [129] - ?????? if (type <= 0) SetResultValue(PowerupTimer[bufftype]); if (type == 1) PowerupTimer[bufftype] = perkvalue; // Set if (type == 2) PowerupTimer[bufftype] += perkvalue; // Add if (type == 3) PowerupTimer[bufftype] -= perkvalue; // Subtract if (type == 4) PowerupTimer[bufftype] *= perkvalue; // Multiply if (type == 5 && perkvalue != 0) PowerupTimer[bufftype] /= perkvalue; // Divide if (type == 6 && perkvalue != 0) PowerupTimer[bufftype] %= perkvalue; // Modulo if (type == 7) PowerupTimer[bufftype] &= perkvalue; // AND if (type == 8) PowerupTimer[bufftype] |= perkvalue; // OR if (type == 9) PowerupTimer[bufftype] ^= perkvalue; // XOR if (type == 10) PowerupTimer[bufftype] <<= perkvalue; // Shift Left if (type == 11) PowerupTimer[bufftype] >>= perkvalue; // Shift Right } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific "Array Var" value for checks script "ArrayVarCheckDECORATE" (int value, int arraynum) { int result; if (value == 0) result = MonstersAlive[arraynum]; if (value == 1) result = MonstersKilled[arraynum]; if (value == 2) result = SecretsFound[arraynum]; if (value == 3) result = ItemsFound[arraynum]; SetResultValue(result); } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to SET the value of a specific "Array Var" value script "ArrayVarSetDECORATE" (int value, int arraynum, int perkvalue, int type) { int result; if (value == 0) // MonstersAlive[] { if (type <= -1) SetResultValue(MonstersAlive[arraynum]); if (type == 0) MonstersAlive[arraynum] = perkvalue; // Set if (type == 1) MonstersAlive[arraynum] += perkvalue; // Add if (type == 2) MonstersAlive[arraynum] -= perkvalue; // Subtract if (type == 3) MonstersAlive[arraynum] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) MonstersAlive[arraynum] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) MonstersAlive[arraynum] %= perkvalue; // Modulo if (type == 6) MonstersAlive[arraynum] &= perkvalue; // AND if (type == 7) MonstersAlive[arraynum] |= perkvalue; // OR if (type == 8) MonstersAlive[arraynum] ^= perkvalue; // XOR if (type == 9) MonstersAlive[arraynum] <<= perkvalue; // Shift Left if (type == 10) MonstersAlive[arraynum] >>= perkvalue; // Shift Right } if (value == 1) // MonstersKilled[] { if (type <= -1) SetResultValue(MonstersKilled[arraynum]); if (type == 0) MonstersKilled[arraynum] = perkvalue; // Set if (type == 1) MonstersKilled[arraynum] += perkvalue; // Add if (type == 2) MonstersKilled[arraynum] -= perkvalue; // Subtract if (type == 3) MonstersKilled[arraynum] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) MonstersKilled[arraynum] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) MonstersKilled[arraynum] %= perkvalue; // Modulo if (type == 6) MonstersKilled[arraynum] &= perkvalue; // AND if (type == 7) MonstersKilled[arraynum] |= perkvalue; // OR if (type == 8) MonstersKilled[arraynum] ^= perkvalue; // XOR if (type == 9) MonstersKilled[arraynum] <<= perkvalue; // Shift Left if (type == 10) MonstersKilled[arraynum] >>= perkvalue; // Shift Right } if (value == 2) // SecretsFound[] { if (type <= -1) SetResultValue(SecretsFound[arraynum]); if (type == 0) SecretsFound[arraynum] = perkvalue; // Set if (type == 1) SecretsFound[arraynum] += perkvalue; // Add if (type == 2) SecretsFound[arraynum] -= perkvalue; // Subtract if (type == 3) SecretsFound[arraynum] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) SecretsFound[arraynum] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) SecretsFound[arraynum] %= perkvalue; // Modulo if (type == 6) SecretsFound[arraynum] &= perkvalue; // AND if (type == 7) SecretsFound[arraynum] |= perkvalue; // OR if (type == 8) SecretsFound[arraynum] ^= perkvalue; // XOR if (type == 9) SecretsFound[arraynum] <<= perkvalue; // Shift Left if (type == 10) SecretsFound[arraynum] >>= perkvalue; // Shift Right } if (value == 3) // ItemsFound[] { if (type <= -1) SetResultValue(ItemsFound[arraynum]); if (type == 0) ItemsFound[arraynum] = perkvalue; // Set if (type == 1) ItemsFound[arraynum] += perkvalue; // Add if (type == 2) ItemsFound[arraynum] -= perkvalue; // Subtract if (type == 3) ItemsFound[arraynum] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) ItemsFound[arraynum] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) ItemsFound[arraynum] %= perkvalue; // Modulo if (type == 6) ItemsFound[arraynum] &= perkvalue; // AND if (type == 7) ItemsFound[arraynum] |= perkvalue; // OR if (type == 8) ItemsFound[arraynum] ^= perkvalue; // XOR if (type == 9) ItemsFound[arraynum] <<= perkvalue; // Shift Left if (type == 10) ItemsFound[arraynum] >>= perkvalue; // Shift Right } } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific QuickSpell # value for checks script "QuickSpellCheckDECORATE" (int value, int type) { SetResultValue(ReadiedSpells[value]); //ReadiedSpells } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific QuickSpell # value for checks script "QuickSpellSetDECORATE" (int value, int perkvalue, int type) { if (type <= -1) SetResultValue(ReadiedSpells[value]); if (type == 0) ReadiedSpells[value] = perkvalue; // Set if (type == 1) ReadiedSpells[value] += perkvalue; // Add if (type == 2) ReadiedSpells[value] -= perkvalue; // Subtract if (type == 3) ReadiedSpells[value] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) ReadiedSpells[value] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) ReadiedSpells[value] %= perkvalue; // Modulo if (type == 6) ReadiedSpells[value] &= perkvalue; // AND if (type == 7) ReadiedSpells[value] |= perkvalue; // OR if (type == 8) ReadiedSpells[value] ^= perkvalue; // XOR if (type == 9) ReadiedSpells[value] <<= perkvalue; // Shift Left if (type == 10) ReadiedSpells[value] >>= perkvalue; // Shift Right } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific "Other" value for checks script "OtherVarCheckDECORATE" (int value, int type) { int result; if (value == 0) result = MaxHealthTrue; if (value == 1) result = MaxMana; if (value == 2) result = CurrentMana; if (value == 3) result = TrueGameSkill; if (value == 4) result = ClassCheck; if (value == 5) result = CurrentArmorClass; if (value == 6) result = HellcoreOverheatLevel; if (value == 7) result = ClassicDoomType; if (value == 8) result = ModType; if (value == 9) result = CurrentMaxArmor; if (value == 10) result = SceptreLevelEXP; if (value == 11) result = SceptreActualLevel; if (value == 12) result = Experience; if (value == 13) result = LevelCap; if (value == 14) result = PlayerLevel; if (value == 15) result = SelectedSpell; SetResultValue(result); } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to SET the value of a specific Other value script "OtherVarSetDECORATE" (int value, int perkvalue, int type) { if (value == 0) // MaxHealthTrue { if (type <= -1) SetResultValue(MaxHealthTrue); if (type == 0) MaxHealthTrue = perkvalue; // Set if (type == 1) MaxHealthTrue += perkvalue; // Add if (type == 2) MaxHealthTrue -= perkvalue; // Subtract if (type == 3) MaxHealthTrue *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) MaxHealthTrue /= perkvalue; // Divide if (type == 5 && perkvalue != 0) MaxHealthTrue %= perkvalue; // Modulo if (type == 6) MaxHealthTrue &= perkvalue; // AND if (type == 7) MaxHealthTrue |= perkvalue; // OR if (type == 8) MaxHealthTrue ^= perkvalue; // XOR if (type == 9) MaxHealthTrue <<= perkvalue; // Shift Left if (type == 10) MaxHealthTrue >>= perkvalue; // Shift Right } if (value == 1) // MaxMana { if (type <= -1) SetResultValue(MaxMana); if (type == 0) MaxMana = perkvalue; // Set if (type == 1) MaxMana += perkvalue; // Add if (type == 2) MaxMana -= perkvalue; // Subtract if (type == 3) MaxMana *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) MaxMana /= perkvalue; // Divide if (type == 5 && perkvalue != 0) MaxMana %= perkvalue; // Modulo if (type == 6) MaxMana &= perkvalue; // AND if (type == 7) MaxMana |= perkvalue; // OR if (type == 8) MaxMana ^= perkvalue; // XOR if (type == 9) MaxMana <<= perkvalue; // Shift Left if (type == 10) MaxMana >>= perkvalue; // Shift Right } if (value == 2) // CurrentMana { if (type <= -1) SetResultValue(CurrentMana); if (type == 0) CurrentMana = perkvalue; // Set if (type == 1) CurrentMana += perkvalue; // Add if (type == 2) CurrentMana -= perkvalue; // Subtract if (type == 3) CurrentMana *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) CurrentMana /= perkvalue; // Divide if (type == 5 && perkvalue != 0) CurrentMana %= perkvalue; // Modulo if (type == 6) CurrentMana &= perkvalue; // AND if (type == 7) CurrentMana |= perkvalue; // OR if (type == 8) CurrentMana ^= perkvalue; // XOR if (type == 9) CurrentMana <<= perkvalue; // Shift Left if (type == 10) CurrentMana >>= perkvalue; // Shift Right } if (value == 3) // TrueGameSkill { if (type <= -1) SetResultValue(TrueGameSkill); if (type == 0) TrueGameSkill = perkvalue; // Set if (type == 1) TrueGameSkill += perkvalue; // Add if (type == 2) TrueGameSkill -= perkvalue; // Subtract if (type == 3) TrueGameSkill *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) TrueGameSkill /= perkvalue; // Divide if (type == 5 && perkvalue != 0) TrueGameSkill %= perkvalue; // Modulo if (type == 6) TrueGameSkill &= perkvalue; // AND if (type == 7) TrueGameSkill |= perkvalue; // OR if (type == 8) TrueGameSkill ^= perkvalue; // XOR if (type == 9) TrueGameSkill <<= perkvalue; // Shift Left if (type == 10) TrueGameSkill >>= perkvalue; // Shift Right } if (value == 4) // ClassCheck { if (type <= -1) SetResultValue(ClassCheck); if (type == 0) ClassCheck = perkvalue; // Set if (type == 1) ClassCheck += perkvalue; // Add if (type == 2) ClassCheck -= perkvalue; // Subtract if (type == 3) ClassCheck *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) ClassCheck /= perkvalue; // Divide if (type == 5 && perkvalue != 0) ClassCheck %= perkvalue; // Modulo if (type == 6) ClassCheck &= perkvalue; // AND if (type == 7) ClassCheck |= perkvalue; // OR if (type == 8) ClassCheck ^= perkvalue; // XOR if (type == 9) ClassCheck <<= perkvalue; // Shift Left if (type == 10) ClassCheck >>= perkvalue; // Shift Right } if (value == 5) // CurrentArmorClass { if (type <= -1) SetResultValue(CurrentArmorClass); if (type == 0) CurrentArmorClass = perkvalue; // Set if (type == 1) CurrentArmorClass += perkvalue; // Add if (type == 2) CurrentArmorClass -= perkvalue; // Subtract if (type == 3) CurrentArmorClass *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) CurrentArmorClass /= perkvalue; // Divide if (type == 5 && perkvalue != 0) CurrentArmorClass %= perkvalue; // Modulo if (type == 6) CurrentArmorClass &= perkvalue; // AND if (type == 7) CurrentArmorClass |= perkvalue; // OR if (type == 8) CurrentArmorClass ^= perkvalue; // XOR if (type == 9) CurrentArmorClass <<= perkvalue; // Shift Left if (type == 10) CurrentArmorClass >>= perkvalue; // Shift Right } if (value == 6) // HellcoreOverheatLevel { if (type <= -1) SetResultValue(HellcoreOverheatLevel); if (type == 0) HellcoreOverheatLevel = perkvalue; // Set if (type == 1) HellcoreOverheatLevel += perkvalue; // Add if (type == 2) HellcoreOverheatLevel -= perkvalue; // Subtract if (type == 3) HellcoreOverheatLevel *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) HellcoreOverheatLevel /= perkvalue; // Divide if (type == 5 && perkvalue != 0) HellcoreOverheatLevel %= perkvalue; // Modulo if (type == 6) HellcoreOverheatLevel &= perkvalue; // AND if (type == 7) HellcoreOverheatLevel |= perkvalue; // OR if (type == 8) HellcoreOverheatLevel ^= perkvalue; // XOR if (type == 9) HellcoreOverheatLevel <<= perkvalue; // Shift Left if (type == 10) HellcoreOverheatLevel >>= perkvalue; // Shift Right } if (value == 7) // ClassicDoomType { if (type <= -1) SetResultValue(ClassicDoomType); if (type == 0) ClassicDoomType = perkvalue; // Set if (type == 1) ClassicDoomType += perkvalue; // Add if (type == 2) ClassicDoomType -= perkvalue; // Subtract if (type == 3) ClassicDoomType *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) ClassicDoomType /= perkvalue; // Divide if (type == 5 && perkvalue != 0) ClassicDoomType %= perkvalue; // Modulo if (type == 6) ClassicDoomType &= perkvalue; // AND if (type == 7) ClassicDoomType |= perkvalue; // OR if (type == 8) ClassicDoomType ^= perkvalue; // XOR if (type == 9) ClassicDoomType <<= perkvalue; // Shift Left if (type == 10) ClassicDoomType >>= perkvalue; // Shift Right } if (value == 8) // ModType { if (type <= -1) SetResultValue(ModType); if (type == 0) ModType = perkvalue; // Set if (type == 1) ModType += perkvalue; // Add if (type == 2) ModType -= perkvalue; // Subtract if (type == 3) ModType *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) ModType /= perkvalue; // Divide if (type == 5 && perkvalue != 0) ModType %= perkvalue; // Modulo if (type == 6) ModType &= perkvalue; // AND if (type == 7) ModType |= perkvalue; // OR if (type == 8) ModType ^= perkvalue; // XOR if (type == 9) ModType <<= perkvalue; // Shift Left if (type == 10) ModType >>= perkvalue; // Shift Right } if (value == 9) // CurrentMaxArmor { if (type <= -1) SetResultValue(CurrentMaxArmor); if (type == 0) CurrentMaxArmor = perkvalue; // Set if (type == 1) CurrentMaxArmor += perkvalue; // Add if (type == 2) CurrentMaxArmor -= perkvalue; // Subtract if (type == 3) CurrentMaxArmor *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) CurrentMaxArmor /= perkvalue; // Divide if (type == 5 && perkvalue != 0) CurrentMaxArmor %= perkvalue; // Modulo if (type == 6) CurrentMaxArmor &= perkvalue; // AND if (type == 7) CurrentMaxArmor |= perkvalue; // OR if (type == 8) CurrentMaxArmor ^= perkvalue; // XOR if (type == 9) CurrentMaxArmor <<= perkvalue; // Shift Left if (type == 10) CurrentMaxArmor >>= perkvalue; // Shift Right } if (value == 10) // SceptreLevelEXP { if (type <= -1) SetResultValue(SceptreLevelEXP); if (type == 0) SceptreLevelEXP = perkvalue; // Set if (type == 1) SceptreLevelEXP += perkvalue; // Add if (type == 2) SceptreLevelEXP -= perkvalue; // Subtract if (type == 3) SceptreLevelEXP *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) SceptreLevelEXP /= perkvalue; // Divide if (type == 5 && perkvalue != 0) SceptreLevelEXP %= perkvalue; // Modulo if (type == 6) SceptreLevelEXP &= perkvalue; // AND if (type == 7) SceptreLevelEXP |= perkvalue; // OR if (type == 8) SceptreLevelEXP ^= perkvalue; // XOR if (type == 9) SceptreLevelEXP <<= perkvalue; // Shift Left if (type == 10) SceptreLevelEXP >>= perkvalue; // Shift Right } if (value == 11) // SceptreActualLevel { if (type <= -1) SetResultValue(SceptreActualLevel); if (type == 0) SceptreActualLevel = perkvalue; // Set if (type == 1) SceptreActualLevel += perkvalue; // Add if (type == 2) SceptreActualLevel -= perkvalue; // Subtract if (type == 3) SceptreActualLevel *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) SceptreActualLevel /= perkvalue; // Divide if (type == 5 && perkvalue != 0) SceptreActualLevel %= perkvalue; // Modulo if (type == 6) SceptreActualLevel &= perkvalue; // AND if (type == 7) SceptreActualLevel |= perkvalue; // OR if (type == 8) SceptreActualLevel ^= perkvalue; // XOR if (type == 9) SceptreActualLevel <<= perkvalue; // Shift Left if (type == 10) SceptreActualLevel >>= perkvalue; // Shift Right } if (value == 12) // Experience { if (type <= -1) SetResultValue(Experience); if (type == 0) Experience = perkvalue; // Set if (type == 1) Experience += perkvalue; // Add if (type == 2) Experience -= perkvalue; // Subtract if (type == 3) Experience *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) Experience /= perkvalue; // Divide if (type == 5 && perkvalue != 0) Experience %= perkvalue; // Modulo if (type == 6) Experience &= perkvalue; // AND if (type == 7) Experience |= perkvalue; // OR if (type == 8) Experience ^= perkvalue; // XOR if (type == 9) Experience <<= perkvalue; // Shift Left if (type == 10) Experience >>= perkvalue; // Shift Right } if (value == 13) // LevelCap { if (type <= -1) SetResultValue(LevelCap); if (type == 0) LevelCap = perkvalue; // Set if (type == 1) LevelCap += perkvalue; // Add if (type == 2) LevelCap -= perkvalue; // Subtract if (type == 3) LevelCap *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) LevelCap /= perkvalue; // Divide if (type == 5 && perkvalue != 0) LevelCap %= perkvalue; // Modulo if (type == 6) LevelCap &= perkvalue; // AND if (type == 7) LevelCap |= perkvalue; // OR if (type == 8) LevelCap ^= perkvalue; // XOR if (type == 9) LevelCap <<= perkvalue; // Shift Left if (type == 10) LevelCap >>= perkvalue; // Shift Right } if (value == 14) // PlayerLevel { if (type <= -1) SetResultValue(PlayerLevel); if (type == 0) PlayerLevel = perkvalue; // Set if (type == 1) PlayerLevel += perkvalue; // Add if (type == 2) PlayerLevel -= perkvalue; // Subtract if (type == 3) PlayerLevel *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) PlayerLevel /= perkvalue; // Divide if (type == 5 && perkvalue != 0) PlayerLevel %= perkvalue; // Modulo if (type == 6) PlayerLevel &= perkvalue; // AND if (type == 7) PlayerLevel |= perkvalue; // OR if (type == 8) PlayerLevel ^= perkvalue; // XOR if (type == 9) PlayerLevel <<= perkvalue; // Shift Left if (type == 10) PlayerLevel >>= perkvalue; // Shift Right } if (value == 15) // SelectedSpell { if (type <= -1) SetResultValue(SelectedSpell); if (type == 0) SelectedSpell = perkvalue; // Set if (type == 1) SelectedSpell += perkvalue; // Add if (type == 2) SelectedSpell -= perkvalue; // Subtract if (type == 3) SelectedSpell *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) SelectedSpell /= perkvalue; // Divide if (type == 5 && perkvalue != 0) SelectedSpell %= perkvalue; // Modulo if (type == 6) SelectedSpell &= perkvalue; // AND if (type == 7) SelectedSpell |= perkvalue; // OR if (type == 8) SelectedSpell ^= perkvalue; // XOR if (type == 9) SelectedSpell <<= perkvalue; // Shift Left if (type == 10) SelectedSpell >>= perkvalue; // Shift Right } } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific "ExpTable[]" value for checks script "ExpTableCheckDECORATE" (int value) { int result = ExpTable[value]; SetResultValue(result); } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to SET the value of a specific "ExpTable[]" value script "ExpTableSetDECORATE" (int value, int perkvalue, int type) { if (type <= -1) SetResultValue(ExpTable[value]); if (type == 0) ExpTable[value] = perkvalue; // Set if (type == 1) ExpTable[value] += perkvalue; // Add if (type == 2) ExpTable[value] -= perkvalue; // Subtract if (type == 3) ExpTable[value] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) ExpTable[value] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) ExpTable[value] %= perkvalue; // Modulo if (type == 6) ExpTable[value] &= perkvalue; // AND if (type == 7) ExpTable[value] |= perkvalue; // OR if (type == 8) ExpTable[value] ^= perkvalue; // XOR if (type == 9) ExpTable[value] <<= perkvalue; // Shift Left if (type == 10) ExpTable[value] >>= perkvalue; // Shift Right } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific "MiscFixedVars[]" value for checks script "FixedVarCheckDECORATE" (int value) { int result = MiscFixedVars[value]; SetResultValue(result); } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to SET the value of a specific "MiscFixedVars[]" value script "FixedVarSetDECORATE" (int value, int perkvalue, int type) { if (type <= -1) SetResultValue(MiscFixedVars[value]); if (type == 0) MiscFixedVars[value] = perkvalue; // Set if (type == 1) MiscFixedVars[value] += perkvalue; // Add if (type == 2) MiscFixedVars[value] -= perkvalue; // Subtract if (type == 3) MiscFixedVars[value] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) MiscFixedVars[value] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) MiscFixedVars[value] %= perkvalue; // Modulo if (type == 6) MiscFixedVars[value] &= perkvalue; // AND if (type == 7) MiscFixedVars[value] |= perkvalue; // OR if (type == 8) MiscFixedVars[value] ^= perkvalue; // XOR if (type == 9) MiscFixedVars[value] <<= perkvalue; // Shift Left if (type == 10) MiscFixedVars[value] >>= perkvalue; // Shift Right MiscFixedVars[value] *= 1.0; //PrintBold(s:"Value [*] (",d:value,s:"): ",f:MiscFixedVars[value]); MiscFixedVars[value] >>= 16; //PrintBold(s:"Value [>>] (",d:value,s:"): ",f:MiscFixedVars[value]); } script "PerkPtsCheckDECORATE" (int value) { int result = PerkPtsPerPerk[value]; SetResultValue(result); } script "PerkPtsSetDECORATE" (int value, int perkvalue, int type) { if (type <= -1) SetResultValue(PerkPtsPerPerk[value]); if (type == 0) PerkPtsPerPerk[value] = perkvalue; // Set if (type == 1) PerkPtsPerPerk[value] += perkvalue; // Add if (type == 2) PerkPtsPerPerk[value] -= perkvalue; // Subtract if (type == 3) PerkPtsPerPerk[value] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) PerkPtsPerPerk[value] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) PerkPtsPerPerk[value] %= perkvalue; // Modulo if (type == 6) PerkPtsPerPerk[value] &= perkvalue; // AND if (type == 7) PerkPtsPerPerk[value] |= perkvalue; // OR if (type == 8) PerkPtsPerPerk[value] ^= perkvalue; // XOR if (type == 9) PerkPtsPerPerk[value] <<= perkvalue; // Shift Left if (type == 10) PerkPtsPerPerk[value] >>= perkvalue; // Shift Right } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific "MiscellaneousVars[]" value for checks script "MiscVarCheckDECORATE" (int value) { int result = MiscellaneousVars[value]; SetResultValue(result); } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to SET the value of a specific "MiscellaneousVars[]" value script "MiscVarSetDECORATE" (int value, int perkvalue, int type) { if (type <= -1) SetResultValue(MiscellaneousVars[value]); if (type == 0) MiscellaneousVars[value] = perkvalue; // Set if (type == 1) MiscellaneousVars[value] += perkvalue; // Add if (type == 2) MiscellaneousVars[value] -= perkvalue; // Subtract if (type == 3) MiscellaneousVars[value] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) MiscellaneousVars[value] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) MiscellaneousVars[value] %= perkvalue; // Modulo if (type == 6) MiscellaneousVars[value] &= perkvalue; // AND if (type == 7) MiscellaneousVars[value] |= perkvalue; // OR if (type == 8) MiscellaneousVars[value] ^= perkvalue; // XOR if (type == 9) MiscellaneousVars[value] <<= perkvalue; // Shift Left if (type == 10) MiscellaneousVars[value] >>= perkvalue; // Shift Right } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific "MenuSystemVars[]" value for checks script "MenuVarCheckDECORATE" (int value) { int result = MenuSystemVars[value]; SetResultValue(result); } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to SET the value of a specific "MiscellaneousVars[]" value script "MenuVarSetDECORATE" (int value, int perkvalue, int type) { if (type <= -1) SetResultValue(MenuSystemVars[value]); if (type == 0) MenuSystemVars[value] = perkvalue; // Set if (type == 1) MenuSystemVars[value] += perkvalue; // Add if (type == 2) MenuSystemVars[value] -= perkvalue; // Subtract if (type == 3) MenuSystemVars[value] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) MenuSystemVars[value] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) MenuSystemVars[value] %= perkvalue; // Modulo if (type == 6) MenuSystemVars[value] &= perkvalue; // AND if (type == 7) MenuSystemVars[value] |= perkvalue; // OR if (type == 8) MenuSystemVars[value] ^= perkvalue; // XOR if (type == 9) MenuSystemVars[value] <<= perkvalue; // Shift Left if (type == 10) MenuSystemVars[value] >>= perkvalue; // Shift Right } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific "DVDSSpecialArrayValue[]" value for checks script "DVDSSpecialArrayCheckDECORATE" (int value) { int result = DVDSSpecialArrayValue[value]; SetResultValue(result); } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to SET the value of a specific "DVDSSpecialArrayValue[]" value script "DVDSSpecialArraySetDECORATE" (int value, int perkvalue, int type) { if (type <= -1) SetResultValue(DVDSSpecialArrayValue[value]); if (type == 0) DVDSSpecialArrayValue[value] = perkvalue; // Set if (type == 1) DVDSSpecialArrayValue[value] += perkvalue; // Add if (type == 2) DVDSSpecialArrayValue[value] -= perkvalue; // Subtract if (type == 3) DVDSSpecialArrayValue[value] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) DVDSSpecialArrayValue[value] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) DVDSSpecialArrayValue[value] %= perkvalue; // Modulo if (type == 6) DVDSSpecialArrayValue[value] &= perkvalue; // AND if (type == 7) DVDSSpecialArrayValue[value] |= perkvalue; // OR if (type == 8) DVDSSpecialArrayValue[value] ^= perkvalue; // XOR if (type == 9) DVDSSpecialArrayValue[value] <<= perkvalue; // Shift Left if (type == 10) DVDSSpecialArrayValue[value] >>= perkvalue; // Shift Right } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific "SpecialGameFlags[]" value for checks script "SpecialGameFlagsCheckDECORATE" (int value) { int result = SpecialGameFlags[value]; SetResultValue(result); } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to SET the value of a specific "SpecialGameFlags[]" value script "SpecialGameFlagsSetDECORATE" (int value, int perkvalue, int type) { if (type <= -1) SetResultValue(SpecialGameFlags[value]); if (type == 0) SpecialGameFlags[value] = perkvalue; // Set if (type == 1) SpecialGameFlags[value] += perkvalue; // Add if (type == 2) SpecialGameFlags[value] -= perkvalue; // Subtract if (type == 3) SpecialGameFlags[value] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) SpecialGameFlags[value] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) SpecialGameFlags[value] %= perkvalue; // Modulo if (type == 6) SpecialGameFlags[value] &= perkvalue; // AND if (type == 7) SpecialGameFlags[value] |= perkvalue; // OR if (type == 8) SpecialGameFlags[value] ^= perkvalue; // XOR if (type == 9) SpecialGameFlags[value] <<= perkvalue; // Shift Left if (type == 10) SpecialGameFlags[value] >>= perkvalue; // Shift Right } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific "SpecialGameFlags[]" value for checks script "PlayerStatCheckDECORATE" (int value) { int result; if (value == 0) result = MiscellaneousVars[25001]; SetResultValue(result); } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to check the value of a specific "SpellCosts[]" value for checks script "SpellCostsCheckDECORATE" (int value) { int result = SpellCosts[value]; SetResultValue(result); } // REFERENCE/CHECK/SET: Allows ZSCRIPT/DECORATE to SET the value of a specific "SpellCosts[]" value script "SpellCostsSetDECORATE" (int value, int perkvalue, int type) { if (type <= -1) SetResultValue(SpellCosts[value]); if (type == 0) SpellCosts[value] = perkvalue; // Set if (type == 1) SpellCosts[value] += perkvalue; // Add if (type == 2) SpellCosts[value] -= perkvalue; // Subtract if (type == 3) SpellCosts[value] *= perkvalue; // Multiply if (type == 4 && perkvalue != 0) SpellCosts[value] /= perkvalue; // Divide if (type == 5 && perkvalue != 0) SpellCosts[value] %= perkvalue; // Modulo if (type == 6) SpellCosts[value] &= perkvalue; // AND if (type == 7) SpellCosts[value] |= perkvalue; // OR if (type == 8) SpellCosts[value] ^= perkvalue; // XOR if (type == 9) SpellCosts[value] <<= perkvalue; // Shift Left if (type == 10) SpellCosts[value] >>= perkvalue; // Shift Right } //*********************** //*********************** //**** EVENT SCRIPTS **** //*********************** //*********************** // Defines the Buildup to Sauravatar's appearance [DVI-DS] script "DVI-MainEyeDeath2" (void) { if (ModType != 0) // Deus Vult 1 or DVII { Delay(35); SetMusic("STAGE6D", 0); AmbientSound("SauronAwakens",127); // 18.25 * 35 = 637 Delay(637); ACS_NamedExecute("DVI-AwakenSauravatar",0,0,0,0); Delay(1); } else { Delay(21); Exit_Normal(0); Delay(1); } } // Awakens the Stone Cyberdemon that becomes the Greater Sauravatar [DVI-DS] script "DVI-AwakenSauravatar" (void) { if (ModType != 0) { AmbientSound("SauronSight",127); Thing_Activate(999); Thing_ChangeTID(999,1124); SpecialGameFlags[10000] = 1; } } // Killed MAP02 Eye [DVI-DS] / MAP12 First Eye [DVII-DS] script "DVI-M02EyeDead" (void) { if (ModType == 1) { SetLineTexture(1, SIDE_FRONT, TEXTURE_MIDDLE, "-"); //remove middle SetLineTexture(1, SIDE_BACK, TEXTURE_MIDDLE, "-"); //remove middle } if (ModType == 2) { ReplaceTextures("XE03_01","-",NOT_BOTTOM|NOT_TOP|NOT_FLOOR|NOT_CEILING); } } // Killed MAP04 Eye #1 [DVI-DS] / MAP12 Second Eye [DVII-DS] script "DV1-M04Eye1Dead" (void) { if (ModType == 1) { SetLineTexture(2, SIDE_FRONT, TEXTURE_TOP, "BLACK"); //remove middle SetLineTexture(2, SIDE_FRONT, TEXTURE_MIDDLE, "BLACK"); //remove middle SetLineTexture(2, SIDE_FRONT, TEXTURE_BOTTOM, "BLACK"); //remove middle } } // Killed MAP04 Eye #2 [DVI-DS] / MAP12 Third Eye [DVII-DS] script "DV1-M04Eye2Dead" (void) { if (ModType == 1) { SetLineTexture(3, SIDE_FRONT, TEXTURE_TOP, "BLACK"); //remove middle SetLineTexture(3, SIDE_FRONT, TEXTURE_MIDDLE, "BLACK"); //remove middle SetLineTexture(3, SIDE_FRONT, TEXTURE_BOTTOM, "BLACK"); //remove middle } } // Killed MAP04 Main Eye [DVI-DS] / MAP12 Fourth Eye [DVII-DS] script "DVI-MainEyeDeath1" (void) { if (ModType == 1) { SetLineTexture(4, SIDE_FRONT, TEXTURE_TOP, "BLACK"); //remove middle SetLineTexture(4, SIDE_FRONT, TEXTURE_MIDDLE, "BLACK"); //remove middle SetLineTexture(4, SIDE_FRONT, TEXTURE_BOTTOM, "BLACK"); //remove middle SetLineTexture(4, SIDE_BACK, TEXTURE_TOP, "BLACK"); //remove middle SetLineTexture(4, SIDE_BACK, TEXTURE_MIDDLE, "BLACK"); //remove middle SetLineTexture(4, SIDE_BACK, TEXTURE_BOTTOM, "BLACK"); //remove middle ChangeCeiling(13, "BLACK"); ChangeFloor(13, "BLACK"); } } // Changes Music for the battle with the main Eye of Sauron on MAP04 [DVI-DS] or MAP12 [DVII-DS] script "DV1M04-Music1" (void) { if (SpecialGameFlags[10000] == 0) SetMusic("DDRAGON3", 13); } script "UnsetFishmouthMusic" (void) { if (SpecialGameFlags[10000] == 0) SetMusic("*", 0); } // Changes Music for Entering the Fishmouth Temple in MAP04 [DVI-DS] or MAP12 [DVII-DS] script "SetFishmouthMusic" (void) { if (SpecialGameFlags[10000] == 0) SetMusic("DDRAGON3", 15); } // Makes Monsters in MAP04 [DVI-DS] or MAP12 [DVII-DS] have a TID of 666 [this makes them suspectible to the Sauravatar's activation script] script "DVI-M04MonsterTags" (void) { if (ModType == 1) // DVI { if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1104) { Thing_ChangeTID(0, 666); } } else if (ModType == 2) // DVII { if (GetLevelInfo(LEVELINFO_LEVELNUM) == 1214) { Thing_ChangeTID (0, 666); } } } // Sauravatar's Death [DVI-DS] script "SauravatarDeath" (void) { SetMusic("*", 0); } //*************************** //*************************** //**** DEBUGGING SCRIPTS **** //*************************** //*************************** // DEBUG: For showing Quest Item progress in Strife mode :V script "DebugStrifeFlags" (void) { int flag1, flag2, flag3, flag4, flag5, flag6, flag7, flag8, flag9, flag10, flag11, flag12, flag13, flag14, flag15, flag16; int flag17, flag18, flag19, flag20, flag21, flag22, flag23, flag24, flag25, flag26, flag27, flag28, flag29, flag30, flag31, flag32; flag1 = CheckInventory("QuestItem1"); flag2 = CheckInventory("QuestItem2"); flag3 = CheckInventory("QuestItem3"); flag4 = CheckInventory("QuestItem4"); flag5 = CheckInventory("QuestItem5"); flag6 = CheckInventory("QuestItem6"); flag7 = CheckInventory("QuestItem7"); flag8 = CheckInventory("QuestItem8"); flag9 = CheckInventory("QuestItem9"); flag10 = CheckInventory("QuestItem10"); flag11 = CheckInventory("QuestItem11"); flag12 = CheckInventory("QuestItem12"); flag13 = CheckInventory("QuestItem13"); flag14 = CheckInventory("QuestItem14"); flag15 = CheckInventory("QuestItem15"); flag16 = CheckInventory("QuestItem16"); flag17 = CheckInventory("QuestItem17"); flag18 = CheckInventory("QuestItem18"); flag19 = CheckInventory("QuestItem19"); flag20 = CheckInventory("QuestItem20"); flag21 = CheckInventory("QuestItem21"); flag22 = CheckInventory("QuestItem22"); flag23 = CheckInventory("QuestItem23"); flag24 = CheckInventory("QuestItem24"); flag25 = CheckInventory("QuestItem25"); flag26 = CheckInventory("QuestItem26"); flag27 = CheckInventory("QuestItem27"); flag28 = CheckInventory("QuestItem28"); flag29 = CheckInventory("QuestItem29"); flag30 = CheckInventory("QuestItem30"); flag31 = CheckInventory("QuestItem31"); PrintBold ( s:" Flag 1 [Beldin's Ring]: ",d:flag1,s:"\n", s:" Flag 2 [Stole Chalice]: ",d:flag2,s:"\n", s:" Flag 3 [Can Visit Irale]: ",d:flag3,s:"\n", s:" Flag 4 ['Messy' Chore]: ",d:flag4,s:"\n", s:" Flag 5 ['Bloody' Chore]: ",d:flag5,s:"\n", s:" Flag 6 [Destroyed Coupling]: ",d:flag6,s:"\n", s:" Flag 7 [Killed Scanning Team]: ",d:flag7,s:"\n", s:" Flag 8 [Got Broken Power Coupling]: ",d:flag8,s:"\n", s:" Flag 9 [Derwin's Ear]: ",d:flag9,s:"\n", s:" Flag 10 [Prison Pass]: ",d:flag10,s:"\n", s:" Flag 11 [Prison Key]: ",d:flag11,s:"\n", s:" Flag 12 [Wolfnick's Hand]: ",d:flag12,s:"\n", s:" Flag 13 [Free Prisoners]: ",d:flag13,s:"\n", s:" Flag 14 [Destroyed Crystal]: ",d:flag14,s:"\n", s:" Flag 15 [Weran's Uniform]: ",d:flag15,s:"\n", s:" Flag 16 [Destroyed Gate]: ",d:flag16,s:"\n", s:" Flag 17 [Macil's Story]: ",d:flag17,s:"\n", s:" Flag 18 [Oracle Pass]: ",d:flag18,s:"\n", s:" Flag 19 [Talked to Quincy]: ",d:flag19,s:"\n", s:" Flag 20 [Unused]: ",d:flag20,s:"\n", s:" Flag 21 [Killed Bishop]: ",d:flag21,s:"\n", s:"Flag 22 [Killed Oracle (post Bishop)]: ",d:flag22,s:"\n", s:" Flag 23 [Killed Oracle]: ",d:flag23,s:"\n", s:" Flag 24 [Killed Macil]: ",d:flag24,s:"\n", s:" Flag 25 [Destroyed Converter]: ",d:flag25,s:"\n", s:" Flag 26 [Killed Loremaster]: ",d:flag26,s:"\n", s:" Flag 27 [Destroyed Computer]: ",d:flag27,s:"\n", s:" Flag 28 [Catacomb Key]: ",d:flag28,s:"\n", s:" Flag 29 [Destroyed Transmitter]: ",d:flag29,s:"\n", s:" Flag 30 [Unused]: ",d:flag30,s:"\n", s:" Flag 31 [Unused]: ",d:flag31 ); } // DEBUG SCRIPT : Set's Sceptre's Shield Level script "SetSceptreShieldLevel" (int level) { MiscellaneousVars[397] = level; } // DEBUG SCRIPT: Emulates a Death Exit to test things like retaining items for Forced Resets [i.e. Resurgence MAP05 to MAP06, etc] script "ForceExit" (int type, int deathexit, int mapno) { if (type == 0) { PrintBold(s:"pukename 'ForceExit' [type] [deathexit] [mapno]\n type = 1: Set Specfic MapNo [mapno < 0: equals restart current map]\n type = 2: Exit_Normal [goes to next map]\n type = 3: Exit_Secret [goes to next secret map]\n \n \n deathexit = 1: emulate a death exit/restart\n \n \n mapno = #: Used with type = 1 to set a specfic map to warp to"); } if (type == 1) // Set Level { if (mapno < 0) mapno = GetLevelInfo(LEVELINFO_LEVELNUM); // Restarts the present map if (mapno == 0) mapno = GetLevelInfo(LEVELINFO_LEVELNUM) + 1; // Goes to next map automatically // Else go to the map specified in the script :V if (deathexit) SetActorProperty(0,APROP_HEALTH,0); Delay(1); Teleport_NewMap(mapno,0,0); } if (type == 2) // Next Normal Level { if (deathexit) SetActorProperty(0,APROP_HEALTH,0); Delay(1); Exit_Normal(0); } if (type == 2) // Next Secret Level { if (deathexit) SetActorProperty(0,APROP_HEALTH,0); Delay(1); Exit_Secret(0); } } // DEBUG SCRIPT: Shows all the values of the different numbered GLOBAL vars and their names. :P script "DebugNumberedVars" (void) { PrintBold( s:"1:Player1TID - ",d:Player1TID, s:"\n2:CurrentMana - ",d:CurrentMana, s:"\n3:MaxMana - ",d:MaxMana, s:"\n4:PlayerLevel - ",d:PlayerLevel, s:"\n5:SelectedSpell - ",d:SelectedSpell, s:"\n8:MaxHealthTrue - ",d:MaxHealthTrue, s:"\n9:Experience - ",d:Experience, s:"\n", s:"\n12:ModType - ",d:ModType, s:"\n", s:"\n19:HellcoreOverheatLevel - ",d:HellcoreOverheatLevel, s:"\n", s:"\n30:CurrentMaxArmor - ",d:CurrentMaxArmor, s:"\n31:CurrentArmorClass - ",d:CurrentArmorClass, s:"\n", s:"\n33:CharacterClass - ",d:CharacterClass, s:"\n34:ClassCheck - ",d:ClassCheck, s:"\n", s:"\n37:LevelCap - ",d:LevelCap, s:"\n38:SpellIDLimit - ",d:SpellIDLimit, s:"\n", s:"\n46:ClassicDoomType - ",d:ClassicDoomType, s:"\nInternal Map#: ",d:GetLevelInfo(LEVELINFO_LEVELNUM), s:"\n51:SpiritStrikePoints - ",d:SpiritStrikePoints, s:"\n54:SceptreLevelEXP - ",d:SceptreLevelEXP, s:"\n55:SceptreActualLevel - ",d:SceptreActualLevel, s:"\n", s:"\n61:RuinousShieldPercentF - ",d:RuinousShieldPercentF, s:"\n62:RuinousShieldPercent - ",d:RuinousShieldPercent, s:"\n" ); } // DEBUG SCRIPT script "CheckTID" (int TID) { int Amount, Amount2, Amount3, Amount4, Amount5, Amount6; int Total; if (TID == Player1TID) // Player's Main TID { Amount = ThingCount(T_NONE, TID); Amount2 = ThingCountName("DeggarisMontegger", TID); Amount3 = ThingCountName("IlluciaHenderShot", TID); Amount4 = ThingCountName("FloraBriscoletti", TID); Amount5 = ThingCountName("AilishEstdale", TID); Amount6 = ThingCountName("PetraLagerkvist", TID); Total = Amount - (Amount2 + Amount3 + Amount4 + Amount5 + Amount6); if (Total == 0) { PrintBold( s:"\c[Green]", d:TID,s:" [Total]: ",d:Total,s:"\n\n", d:TID,s:" [general]: ",d:Amount,s:"\n\n", d:TID,s:" [Deggaris]: ",d:Amount2,s:"\n", d:TID,s:" [Illucia]: ",d:Amount3,s:"\n", d:TID,s:" [Flora]: ",d:Amount4,s:"\n", d:TID,s:" [Ailish]: ",d:Amount5,s:"\n", d:TID,s:" [Petra]: ",d:Amount6,s:"\n" ); } else { PrintBold( s:"\c[DarkRed]", d:TID,s:" [Total]: ",d:Total,s:"\n\n", d:TID,s:" [general]: ",d:Amount,s:"\n\n", d:TID,s:" [Deggaris]: ",d:Amount2,s:"\n", d:TID,s:" [Illucia]: ",d:Amount3,s:"\n", d:TID,s:" [Flora]: ",d:Amount4,s:"\n", d:TID,s:" [Ailish]: ",d:Amount5,s:"\n", d:TID,s:" [Petra]: ",d:Amount6,s:"\n" ); } } else { Amount = ThingCount(T_NONE, TID); PrintBold(d:TID,s:": ",d:Amount); } } // DEBUG SCRIPT: Prints out or edits a number for "MenuSystemVars[#]" vars. script "MSV" (int index, int type, int value) { int oldvalue = 0; int newvalue = 0; int printidx0, printidx1, printidx2, printidx3, printidx4, printidx5, printidx6, printidx7, printidx8, printidx9; int printidx10, printidx11, printidx12, printidx13, printidx14, printidx15, printidx16, printidx17, printidx18, printidx19; int printidx20, printidx21, printidx22, printidx23, printidx24, printidx25, printidx26, printidx27, printidx28, printidx29; int printidx30, printidx31, printidx32, printidx33, printidx34, printidx35, printidx36, printidx37, printidx38, printidx39; if (index >= 0) { oldvalue = MenuSystemVars[index]; if (type == 1) MenuSystemVars[index] += value; // adds to the value if (type == 2) MenuSystemVars[index] = value; // sets the value newvalue = MenuSystemVars[index]; if (type == 0) { PrintBold(s:"Index: ",d:index, s:"\nValue: ",f:newvalue); } else { PrintBold(s:"Index: ",d:index, s:"\nOldValue: ",f:oldvalue, s:"\nNewValue: ",f:newvalue); } } else { // Prints the entire list [although you'll need to read into the console to see all the values, as it only shows 40 at a time, and only the last forty will show on your screen :P] printidx0 = 0; printidx1 = 1; printidx2 = 2; printidx3 = 3; printidx4 = 4; printidx5 = 5; printidx6 = 6; printidx7 = 10001; printidx8 = 10002; printidx9 = 10003; printidx10 = 10004; printidx11 = 10005; printidx12 = 10006; // 0 - 12 PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MenuSystemVars[printidx0], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MenuSystemVars[printidx1], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MenuSystemVars[printidx2], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MenuSystemVars[printidx3], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MenuSystemVars[printidx4], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MenuSystemVars[printidx5], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MenuSystemVars[printidx6], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MenuSystemVars[printidx7], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MenuSystemVars[printidx8], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MenuSystemVars[printidx9], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MenuSystemVars[printidx10], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MenuSystemVars[printidx11], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MenuSystemVars[printidx12] ); } } // DEBUG SCRIPT: Prints out or edits a fixed number for "MiscFixedVars[#]" vars. script "MFV" (int index, int type, int value) { int oldvalue = 0.0; int newvalue = 0.0; int printidx0, printidx1, printidx2, printidx3, printidx4, printidx5, printidx6, printidx7, printidx8, printidx9; int printidx10, printidx11, printidx12, printidx13, printidx14, printidx15, printidx16, printidx17, printidx18, printidx19; int printidx20, printidx21, printidx22, printidx23, printidx24, printidx25, printidx26, printidx27, printidx28, printidx29; int printidx30, printidx31, printidx32, printidx33, printidx34, printidx35, printidx36, printidx37, printidx38, printidx39; if (index >= 0) { value *= 1.0; oldvalue = MiscFixedVars[index]; if (type == 1) MiscFixedVars[index] += value; // adds to the value if (type == 2) MiscFixedVars[index] = value; // sets the value newvalue = MiscFixedVars[index]; if (type == 0) { PrintBold(s:"Index: ",d:index, s:"\nValue: ",f:newvalue); } else { PrintBold(s:"Index: ",d:index, s:"\nOldValue: ",f:oldvalue, s:"\nNewValue: ",f:newvalue); } } } // DEBUG SCRIPT: Prints out or edits a fixed number for "DVDSSpecialArrayValue[#]" vars. script "DVSV" (int index, int type, int value) { int oldvalue; int newvalue; if (index >= 0) { oldvalue = DVDSSpecialArrayValue[index]; newvalue = DVDSSpecialArrayValue[index]; if (type == 0) { PrintBold(s:"Index: ",d:index, s:"\nValue: ",d:newvalue); } else { if (type == 1) { DVDSSpecialArrayValue[index] = value; // sets the value SetUserArray(0,"user_PlayerDVDSSpecial",index,value); } PrintBold(s:"Index: ",d:index, s:"\nOldValue: ",d:oldvalue, s:"\nNewValue: ",d:newvalue); } } } // DEBUG SCRIPT: Prints out the EXP Level tables for the player. script "EXPLevelTable" (int index, int type, int value) { int oldvalue; int newvalue; int printidx0, printidx1, printidx2, printidx3, printidx4, printidx5, printidx6, printidx7, printidx8, printidx9; int printidx10, printidx11, printidx12, printidx13, printidx14, printidx15, printidx16, printidx17, printidx18, printidx19; int printidx20, printidx21, printidx22, printidx23, printidx24, printidx25, printidx26, printidx27, printidx28, printidx29; int printidx30, printidx31, printidx32, printidx33, printidx34, printidx35, printidx36, printidx37, printidx38, printidx39; // Prints the entire list [although you'll need to read into the console to see all the values, as it only shows 40 at a time, and only the last forty will show on your screen :P] printidx0 = 0; printidx1 = 1; printidx2 = 2; printidx3 = 3; printidx4 = 4; printidx5 = 5; printidx6 = 6; printidx7 = 7; printidx8 = 8; printidx9 = 9; printidx10 = 10; printidx11 = 11; printidx12 = 12; printidx13 = 13; printidx14 = 14; printidx15 = 15; printidx16 = 16; printidx17 = 17; printidx18 = 18; printidx19 = 19; printidx20 = 20; printidx21 = 21; printidx22 = 22; printidx23 = 23; printidx24 = 24; printidx25 = 25; printidx26 = 26; printidx27 = 27; printidx28 = 28; printidx29 = 29; printidx30 = 30; printidx31 = 31; printidx32 = 32; printidx33 = 33; printidx34 = 34; printidx35 = 35; printidx36 = 36; printidx37 = 37; printidx38 = 38; printidx39 = 39; // 0 - 39 PrintBold ( s:"\cf Level[\cn",d:printidx0,s:"\cf]: \cd",d:ExpTable[printidx0],s:"\cf Level[\cn",d:printidx20,s:"\cf]: \cd",d:ExpTable[printidx20], s:"\n\cf Level[\cn",d:printidx1,s:"\cf]: \cd",d:ExpTable[printidx1],s:"\cf Level[\cn",d:printidx21,s:"\cf]: \cd",d:ExpTable[printidx21], s:"\n\cf Level[\cn",d:printidx2,s:"\cf]: \cd",d:ExpTable[printidx2],s:"\cf Level[\cn",d:printidx22,s:"\cf]: \cd",d:ExpTable[printidx22], s:"\n\cf Level[\cn",d:printidx3,s:"\cf]: \cd",d:ExpTable[printidx3],s:"\cf Level[\cn",d:printidx23,s:"\cf]: \cd",d:ExpTable[printidx23], s:"\n\cf Level[\cn",d:printidx4,s:"\cf]: \cd",d:ExpTable[printidx4],s:"\cf Level[\cn",d:printidx24,s:"\cf]: \cd",d:ExpTable[printidx24], s:"\n\cf Level[\cn",d:printidx5,s:"\cf]: \cd",d:ExpTable[printidx5],s:"\cf Level[\cn",d:printidx25,s:"\cf]: \cd",d:ExpTable[printidx25], s:"\n\cf Level[\cn",d:printidx6,s:"\cf]: \cd",d:ExpTable[printidx6],s:"\cf Level[\cn",d:printidx26,s:"\cf]: \cd",d:ExpTable[printidx26], s:"\n\cf Level[\cn",d:printidx7,s:"\cf]: \cd",d:ExpTable[printidx7],s:"\cf Level[\cn",d:printidx27,s:"\cf]: \cd",d:ExpTable[printidx27], s:"\n\cf Level[\cn",d:printidx8,s:"\cf]: \cd",d:ExpTable[printidx8],s:"\cf Level[\cn",d:printidx28,s:"\cf]: \cd",d:ExpTable[printidx28], s:"\n\cf Level[\cn",d:printidx9,s:"\cf]: \cd",d:ExpTable[printidx9],s:"\cf Level[\cn",d:printidx29,s:"\cf]: \cd",d:ExpTable[printidx29], s:"\n\cf Level[\cn",d:printidx10,s:"\cf]: \cd",d:ExpTable[printidx10],s:"\cf Level[\cn",d:printidx30,s:"\cf]: \cd",d:ExpTable[printidx30], s:"\n\cf Level[\cn",d:printidx11,s:"\cf]: \cd",d:ExpTable[printidx11],s:"\cf Level[\cn",d:printidx31,s:"\cf]: \cd",d:ExpTable[printidx31], s:"\n\cf Level[\cn",d:printidx12,s:"\cf]: \cd",d:ExpTable[printidx12],s:"\cf Level[\cn",d:printidx32,s:"\cf]: \cd",d:ExpTable[printidx32], s:"\n\cf Level[\cn",d:printidx13,s:"\cf]: \cd",d:ExpTable[printidx13],s:"\cf Level[\cn",d:printidx33,s:"\cf]: \cd",d:ExpTable[printidx33], s:"\n\cf Level[\cn",d:printidx14,s:"\cf]: \cd",d:ExpTable[printidx14],s:"\cf Level[\cn",d:printidx34,s:"\cf]: \cd",d:ExpTable[printidx34], s:"\n\cf Level[\cn",d:printidx15,s:"\cf]: \cd",d:ExpTable[printidx15],s:"\cf Level[\cn",d:printidx35,s:"\cf]: \cd",d:ExpTable[printidx35], s:"\n\cf Level[\cn",d:printidx16,s:"\cf]: \cd",d:ExpTable[printidx16],s:"\cf Level[\cn",d:printidx36,s:"\cf]: \cd",d:ExpTable[printidx36], s:"\n\cf Level[\cn",d:printidx17,s:"\cf]: \cd",d:ExpTable[printidx17],s:"\cf Level[\cn",d:printidx37,s:"\cf]: \cd",d:ExpTable[printidx37], s:"\n\cf Level[\cn",d:printidx18,s:"\cf]: \cd",d:ExpTable[printidx18],s:"\cf Level[\cn",d:printidx38,s:"\cf]: \cd",d:ExpTable[printidx38], s:"\n\cf Level[\cn",d:printidx19,s:"\cf]: \cd",d:ExpTable[printidx19],s:"\cf Level[\cn",d:printidx39,s:"\cf]: \cd",d:ExpTable[printidx39] ); // 40 - 79 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Level[\cn",d:printidx0,s:"\cf]: \cd",d:ExpTable[printidx0],s:"\cf Level[\cn",d:printidx20,s:"\cf]: \cd",d:ExpTable[printidx20], s:"\n\cf Level[\cn",d:printidx1,s:"\cf]: \cd",d:ExpTable[printidx1],s:"\cf Level[\cn",d:printidx21,s:"\cf]: \cd",d:ExpTable[printidx21], s:"\n\cf Level[\cn",d:printidx2,s:"\cf]: \cd",d:ExpTable[printidx2],s:"\cf Level[\cn",d:printidx22,s:"\cf]: \cd",d:ExpTable[printidx22], s:"\n\cf Level[\cn",d:printidx3,s:"\cf]: \cd",d:ExpTable[printidx3],s:"\cf Level[\cn",d:printidx23,s:"\cf]: \cd",d:ExpTable[printidx23], s:"\n\cf Level[\cn",d:printidx4,s:"\cf]: \cd",d:ExpTable[printidx4],s:"\cf Level[\cn",d:printidx24,s:"\cf]: \cd",d:ExpTable[printidx24], s:"\n\cf Level[\cn",d:printidx5,s:"\cf]: \cd",d:ExpTable[printidx5],s:"\cf Level[\cn",d:printidx25,s:"\cf]: \cd",d:ExpTable[printidx25], s:"\n\cf Level[\cn",d:printidx6,s:"\cf]: \cd",d:ExpTable[printidx6],s:"\cf Level[\cn",d:printidx26,s:"\cf]: \cd",d:ExpTable[printidx26], s:"\n\cf Level[\cn",d:printidx7,s:"\cf]: \cd",d:ExpTable[printidx7],s:"\cf Level[\cn",d:printidx27,s:"\cf]: \cd",d:ExpTable[printidx27], s:"\n\cf Level[\cn",d:printidx8,s:"\cf]: \cd",d:ExpTable[printidx8],s:"\cf Level[\cn",d:printidx28,s:"\cf]: \cd",d:ExpTable[printidx28], s:"\n\cf Level[\cn",d:printidx9,s:"\cf]: \cd",d:ExpTable[printidx9],s:"\cf Level[\cn",d:printidx29,s:"\cf]: \cd",d:ExpTable[printidx29], s:"\n\cf Level[\cn",d:printidx10,s:"\cf]: \cd",d:ExpTable[printidx10],s:"\cf Level[\cn",d:printidx30,s:"\cf]: \cd",d:ExpTable[printidx30], s:"\n\cf Level[\cn",d:printidx11,s:"\cf]: \cd",d:ExpTable[printidx11],s:"\cf Level[\cn",d:printidx31,s:"\cf]: \cd",d:ExpTable[printidx31], s:"\n\cf Level[\cn",d:printidx12,s:"\cf]: \cd",d:ExpTable[printidx12],s:"\cf Level[\cn",d:printidx32,s:"\cf]: \cd",d:ExpTable[printidx32], s:"\n\cf Level[\cn",d:printidx13,s:"\cf]: \cd",d:ExpTable[printidx13],s:"\cf Level[\cn",d:printidx33,s:"\cf]: \cd",d:ExpTable[printidx33], s:"\n\cf Level[\cn",d:printidx14,s:"\cf]: \cd",d:ExpTable[printidx14],s:"\cf Level[\cn",d:printidx34,s:"\cf]: \cd",d:ExpTable[printidx34], s:"\n\cf Level[\cn",d:printidx15,s:"\cf]: \cd",d:ExpTable[printidx15],s:"\cf Level[\cn",d:printidx35,s:"\cf]: \cd",d:ExpTable[printidx35], s:"\n\cf Level[\cn",d:printidx16,s:"\cf]: \cd",d:ExpTable[printidx16],s:"\cf Level[\cn",d:printidx36,s:"\cf]: \cd",d:ExpTable[printidx36], s:"\n\cf Level[\cn",d:printidx17,s:"\cf]: \cd",d:ExpTable[printidx17],s:"\cf Level[\cn",d:printidx37,s:"\cf]: \cd",d:ExpTable[printidx37], s:"\n\cf Level[\cn",d:printidx18,s:"\cf]: \cd",d:ExpTable[printidx18],s:"\cf Level[\cn",d:printidx38,s:"\cf]: \cd",d:ExpTable[printidx38], s:"\n\cf Level[\cn",d:printidx19,s:"\cf]: \cd",d:ExpTable[printidx19],s:"\cf Level[\cn",d:printidx39,s:"\cf]: \cd",d:ExpTable[printidx39] ); // 80 - 119 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Level[\cn",d:printidx0,s:"\cf]: \cd",d:ExpTable[printidx0],s:"\cf Level[\cn",d:printidx20,s:"\cf]: \cd",d:ExpTable[printidx20], s:"\n\cf Level[\cn",d:printidx1,s:"\cf]: \cd",d:ExpTable[printidx1],s:"\cf Level[\cn",d:printidx21,s:"\cf]: \cd",d:ExpTable[printidx21], s:"\n\cf Level[\cn",d:printidx2,s:"\cf]: \cd",d:ExpTable[printidx2],s:"\cf Level[\cn",d:printidx22,s:"\cf]: \cd",d:ExpTable[printidx22], s:"\n\cf Level[\cn",d:printidx3,s:"\cf]: \cd",d:ExpTable[printidx3],s:"\cf Level[\cn",d:printidx23,s:"\cf]: \cd",d:ExpTable[printidx23], s:"\n\cf Level[\cn",d:printidx4,s:"\cf]: \cd",d:ExpTable[printidx4],s:"\cf Level[\cn",d:printidx24,s:"\cf]: \cd",d:ExpTable[printidx24], s:"\n\cf Level[\cn",d:printidx5,s:"\cf]: \cd",d:ExpTable[printidx5],s:"\cf Level[\cn",d:printidx25,s:"\cf]: \cd",d:ExpTable[printidx25], s:"\n\cf Level[\cn",d:printidx6,s:"\cf]: \cd",d:ExpTable[printidx6],s:"\cf Level[\cn",d:printidx26,s:"\cf]: \cd",d:ExpTable[printidx26], s:"\n\cf Level[\cn",d:printidx7,s:"\cf]: \cd",d:ExpTable[printidx7],s:"\cf Level[\cn",d:printidx27,s:"\cf]: \cd",d:ExpTable[printidx27], s:"\n\cf Level[\cn",d:printidx8,s:"\cf]: \cd",d:ExpTable[printidx8],s:"\cf Level[\cn",d:printidx28,s:"\cf]: \cd",d:ExpTable[printidx28], s:"\n\cf Level[\cn",d:printidx9,s:"\cf]: \cd",d:ExpTable[printidx9],s:"\cf Level[\cn",d:printidx29,s:"\cf]: \cd",d:ExpTable[printidx29], s:"\n\cf Level[\cn",d:printidx10,s:"\cf]: \cd",d:ExpTable[printidx10],s:"\cf Level[\cn",d:printidx30,s:"\cf]: \cd",d:ExpTable[printidx30], s:"\n\cf Level[\cn",d:printidx11,s:"\cf]: \cd",d:ExpTable[printidx11],s:"\cf Level[\cn",d:printidx31,s:"\cf]: \cd",d:ExpTable[printidx31], s:"\n\cf Level[\cn",d:printidx12,s:"\cf]: \cd",d:ExpTable[printidx12],s:"\cf Level[\cn",d:printidx32,s:"\cf]: \cd",d:ExpTable[printidx32], s:"\n\cf Level[\cn",d:printidx13,s:"\cf]: \cd",d:ExpTable[printidx13],s:"\cf Level[\cn",d:printidx33,s:"\cf]: \cd",d:ExpTable[printidx33], s:"\n\cf Level[\cn",d:printidx14,s:"\cf]: \cd",d:ExpTable[printidx14],s:"\cf Level[\cn",d:printidx34,s:"\cf]: \cd",d:ExpTable[printidx34], s:"\n\cf Level[\cn",d:printidx15,s:"\cf]: \cd",d:ExpTable[printidx15],s:"\cf Level[\cn",d:printidx35,s:"\cf]: \cd",d:ExpTable[printidx35], s:"\n\cf Level[\cn",d:printidx16,s:"\cf]: \cd",d:ExpTable[printidx16],s:"\cf Level[\cn",d:printidx36,s:"\cf]: \cd",d:ExpTable[printidx36], s:"\n\cf Level[\cn",d:printidx17,s:"\cf]: \cd",d:ExpTable[printidx17],s:"\cf Level[\cn",d:printidx37,s:"\cf]: \cd",d:ExpTable[printidx37], s:"\n\cf Level[\cn",d:printidx18,s:"\cf]: \cd",d:ExpTable[printidx18],s:"\cf Level[\cn",d:printidx38,s:"\cf]: \cd",d:ExpTable[printidx38], s:"\n\cf Level[\cn",d:printidx19,s:"\cf]: \cd",d:ExpTable[printidx19],s:"\cf Level[\cn",d:printidx39,s:"\cf]: \cd",d:ExpTable[printidx39] ); // 120 - 159 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Level[\cn",d:printidx0,s:"\cf]: \cd",d:ExpTable[printidx0],s:"\cf Level[\cn",d:printidx20,s:"\cf]: \cd",d:ExpTable[printidx20], s:"\n\cf Level[\cn",d:printidx1,s:"\cf]: \cd",d:ExpTable[printidx1],s:"\cf Level[\cn",d:printidx21,s:"\cf]: \cd",d:ExpTable[printidx21], s:"\n\cf Level[\cn",d:printidx2,s:"\cf]: \cd",d:ExpTable[printidx2],s:"\cf Level[\cn",d:printidx22,s:"\cf]: \cd",d:ExpTable[printidx22], s:"\n\cf Level[\cn",d:printidx3,s:"\cf]: \cd",d:ExpTable[printidx3],s:"\cf Level[\cn",d:printidx23,s:"\cf]: \cd",d:ExpTable[printidx23], s:"\n\cf Level[\cn",d:printidx4,s:"\cf]: \cd",d:ExpTable[printidx4],s:"\cf Level[\cn",d:printidx24,s:"\cf]: \cd",d:ExpTable[printidx24], s:"\n\cf Level[\cn",d:printidx5,s:"\cf]: \cd",d:ExpTable[printidx5],s:"\cf Level[\cn",d:printidx25,s:"\cf]: \cd",d:ExpTable[printidx25], s:"\n\cf Level[\cn",d:printidx6,s:"\cf]: \cd",d:ExpTable[printidx6],s:"\cf Level[\cn",d:printidx26,s:"\cf]: \cd",d:ExpTable[printidx26], s:"\n\cf Level[\cn",d:printidx7,s:"\cf]: \cd",d:ExpTable[printidx7],s:"\cf Level[\cn",d:printidx27,s:"\cf]: \cd",d:ExpTable[printidx27], s:"\n\cf Level[\cn",d:printidx8,s:"\cf]: \cd",d:ExpTable[printidx8],s:"\cf Level[\cn",d:printidx28,s:"\cf]: \cd",d:ExpTable[printidx28], s:"\n\cf Level[\cn",d:printidx9,s:"\cf]: \cd",d:ExpTable[printidx9],s:"\cf Level[\cn",d:printidx29,s:"\cf]: \cd",d:ExpTable[printidx29], s:"\n\cf Level[\cn",d:printidx10,s:"\cf]: \cd",d:ExpTable[printidx10],s:"\cf Level[\cn",d:printidx30,s:"\cf]: \cd",d:ExpTable[printidx30], s:"\n\cf Level[\cn",d:printidx11,s:"\cf]: \cd",d:ExpTable[printidx11],s:"\cf Level[\cn",d:printidx31,s:"\cf]: \cd",d:ExpTable[printidx31], s:"\n\cf Level[\cn",d:printidx12,s:"\cf]: \cd",d:ExpTable[printidx12],s:"\cf Level[\cn",d:printidx32,s:"\cf]: \cd",d:ExpTable[printidx32], s:"\n\cf Level[\cn",d:printidx13,s:"\cf]: \cd",d:ExpTable[printidx13],s:"\cf Level[\cn",d:printidx33,s:"\cf]: \cd",d:ExpTable[printidx33], s:"\n\cf Level[\cn",d:printidx14,s:"\cf]: \cd",d:ExpTable[printidx14],s:"\cf Level[\cn",d:printidx34,s:"\cf]: \cd",d:ExpTable[printidx34], s:"\n\cf Level[\cn",d:printidx15,s:"\cf]: \cd",d:ExpTable[printidx15],s:"\cf Level[\cn",d:printidx35,s:"\cf]: \cd",d:ExpTable[printidx35], s:"\n\cf Level[\cn",d:printidx16,s:"\cf]: \cd",d:ExpTable[printidx16],s:"\cf Level[\cn",d:printidx36,s:"\cf]: \cd",d:ExpTable[printidx36], s:"\n\cf Level[\cn",d:printidx17,s:"\cf]: \cd",d:ExpTable[printidx17],s:"\cf Level[\cn",d:printidx37,s:"\cf]: \cd",d:ExpTable[printidx37], s:"\n\cf Level[\cn",d:printidx18,s:"\cf]: \cd",d:ExpTable[printidx18],s:"\cf Level[\cn",d:printidx38,s:"\cf]: \cd",d:ExpTable[printidx38], s:"\n\cf Level[\cn",d:printidx19,s:"\cf]: \cd",d:ExpTable[printidx19],s:"\cf Level[\cn",d:printidx39,s:"\cf]: \cd",d:ExpTable[printidx39] ); // 160 - 199 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Level[\cn",d:printidx0,s:"\cf]: \cd",d:ExpTable[printidx0],s:"\cf Level[\cn",d:printidx20,s:"\cf]: \cd",d:ExpTable[printidx20], s:"\n\cf Level[\cn",d:printidx1,s:"\cf]: \cd",d:ExpTable[printidx1],s:"\cf Level[\cn",d:printidx21,s:"\cf]: \cd",d:ExpTable[printidx21], s:"\n\cf Level[\cn",d:printidx2,s:"\cf]: \cd",d:ExpTable[printidx2],s:"\cf Level[\cn",d:printidx22,s:"\cf]: \cd",d:ExpTable[printidx22], s:"\n\cf Level[\cn",d:printidx3,s:"\cf]: \cd",d:ExpTable[printidx3],s:"\cf Level[\cn",d:printidx23,s:"\cf]: \cd",d:ExpTable[printidx23], s:"\n\cf Level[\cn",d:printidx4,s:"\cf]: \cd",d:ExpTable[printidx4],s:"\cf Level[\cn",d:printidx24,s:"\cf]: \cd",d:ExpTable[printidx24], s:"\n\cf Level[\cn",d:printidx5,s:"\cf]: \cd",d:ExpTable[printidx5],s:"\cf Level[\cn",d:printidx25,s:"\cf]: \cd",d:ExpTable[printidx25], s:"\n\cf Level[\cn",d:printidx6,s:"\cf]: \cd",d:ExpTable[printidx6],s:"\cf Level[\cn",d:printidx26,s:"\cf]: \cd",d:ExpTable[printidx26], s:"\n\cf Level[\cn",d:printidx7,s:"\cf]: \cd",d:ExpTable[printidx7],s:"\cf Level[\cn",d:printidx27,s:"\cf]: \cd",d:ExpTable[printidx27], s:"\n\cf Level[\cn",d:printidx8,s:"\cf]: \cd",d:ExpTable[printidx8],s:"\cf Level[\cn",d:printidx28,s:"\cf]: \cd",d:ExpTable[printidx28], s:"\n\cf Level[\cn",d:printidx9,s:"\cf]: \cd",d:ExpTable[printidx9],s:"\cf Level[\cn",d:printidx29,s:"\cf]: \cd",d:ExpTable[printidx29], s:"\n\cf Level[\cn",d:printidx10,s:"\cf]: \cd",d:ExpTable[printidx10],s:"\cf Level[\cn",d:printidx30,s:"\cf]: \cd",d:ExpTable[printidx30], s:"\n\cf Level[\cn",d:printidx11,s:"\cf]: \cd",d:ExpTable[printidx11],s:"\cf Level[\cn",d:printidx31,s:"\cf]: \cd",d:ExpTable[printidx31], s:"\n\cf Level[\cn",d:printidx12,s:"\cf]: \cd",d:ExpTable[printidx12],s:"\cf Level[\cn",d:printidx32,s:"\cf]: \cd",d:ExpTable[printidx32], s:"\n\cf Level[\cn",d:printidx13,s:"\cf]: \cd",d:ExpTable[printidx13],s:"\cf Level[\cn",d:printidx33,s:"\cf]: \cd",d:ExpTable[printidx33], s:"\n\cf Level[\cn",d:printidx14,s:"\cf]: \cd",d:ExpTable[printidx14],s:"\cf Level[\cn",d:printidx34,s:"\cf]: \cd",d:ExpTable[printidx34], s:"\n\cf Level[\cn",d:printidx15,s:"\cf]: \cd",d:ExpTable[printidx15],s:"\cf Level[\cn",d:printidx35,s:"\cf]: \cd",d:ExpTable[printidx35], s:"\n\cf Level[\cn",d:printidx16,s:"\cf]: \cd",d:ExpTable[printidx16],s:"\cf Level[\cn",d:printidx36,s:"\cf]: \cd",d:ExpTable[printidx36], s:"\n\cf Level[\cn",d:printidx17,s:"\cf]: \cd",d:ExpTable[printidx17],s:"\cf Level[\cn",d:printidx37,s:"\cf]: \cd",d:ExpTable[printidx37], s:"\n\cf Level[\cn",d:printidx18,s:"\cf]: \cd",d:ExpTable[printidx18],s:"\cf Level[\cn",d:printidx38,s:"\cf]: \cd",d:ExpTable[printidx38], s:"\n\cf Level[\cn",d:printidx19,s:"\cf]: \cd",d:ExpTable[printidx19],s:"\cf Level[\cn",d:printidx39,s:"\cf]: \cd",d:ExpTable[printidx39] ); // 200 - 200 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Level[\cn",d:printidx0,s:"\cf]: \cd",d:ExpTable[printidx0],s:"\cf Level[\cn",d:printidx20,s:"\cf]: \cd",d:ExpTable[printidx20], s:"\n\cf Level[\cn",d:printidx1,s:"\cf]: \cd",d:ExpTable[printidx1],s:"\cf Level[\cn",d:printidx21,s:"\cf]: \cd",d:ExpTable[printidx21], s:"\n\cf Level[\cn",d:printidx2,s:"\cf]: \cd",d:ExpTable[printidx2],s:"\cf Level[\cn",d:printidx22,s:"\cf]: \cd",d:ExpTable[printidx22], s:"\n\cf Level[\cn",d:printidx3,s:"\cf]: \cd",d:ExpTable[printidx3],s:"\cf Level[\cn",d:printidx23,s:"\cf]: \cd",d:ExpTable[printidx23], s:"\n\cf Level[\cn",d:printidx4,s:"\cf]: \cd",d:ExpTable[printidx4],s:"\cf Level[\cn",d:printidx24,s:"\cf]: \cd",d:ExpTable[printidx24], s:"\n\cf Level[\cn",d:printidx5,s:"\cf]: \cd",d:ExpTable[printidx5],s:"\cf Level[\cn",d:printidx25,s:"\cf]: \cd",d:ExpTable[printidx25], s:"\n\cf Level[\cn",d:printidx6,s:"\cf]: \cd",d:ExpTable[printidx6],s:"\cf Level[\cn",d:printidx26,s:"\cf]: \cd",d:ExpTable[printidx26], s:"\n\cf Level[\cn",d:printidx7,s:"\cf]: \cd",d:ExpTable[printidx7],s:"\cf Level[\cn",d:printidx27,s:"\cf]: \cd",d:ExpTable[printidx27], s:"\n\cf Level[\cn",d:printidx8,s:"\cf]: \cd",d:ExpTable[printidx8],s:"\cf Level[\cn",d:printidx28,s:"\cf]: \cd",d:ExpTable[printidx28], s:"\n\cf Level[\cn",d:printidx9,s:"\cf]: \cd",d:ExpTable[printidx9],s:"\cf Level[\cn",d:printidx29,s:"\cf]: \cd",d:ExpTable[printidx29], s:"\n\cf Level[\cn",d:printidx10,s:"\cf]: \cd",d:ExpTable[printidx10],s:"\cf Level[\cn",d:printidx30,s:"\cf]: \cd",d:ExpTable[printidx30], s:"\n\cf Level[\cn",d:printidx11,s:"\cf]: \cd",d:ExpTable[printidx11],s:"\cf Level[\cn",d:printidx31,s:"\cf]: \cd",d:ExpTable[printidx31], s:"\n\cf Level[\cn",d:printidx12,s:"\cf]: \cd",d:ExpTable[printidx12],s:"\cf Level[\cn",d:printidx32,s:"\cf]: \cd",d:ExpTable[printidx32], s:"\n\cf Level[\cn",d:printidx13,s:"\cf]: \cd",d:ExpTable[printidx13],s:"\cf Level[\cn",d:printidx33,s:"\cf]: \cd",d:ExpTable[printidx33], s:"\n\cf Level[\cn",d:printidx14,s:"\cf]: \cd",d:ExpTable[printidx14],s:"\cf Level[\cn",d:printidx34,s:"\cf]: \cd",d:ExpTable[printidx34], s:"\n\cf Level[\cn",d:printidx15,s:"\cf]: \cd",d:ExpTable[printidx15],s:"\cf Level[\cn",d:printidx35,s:"\cf]: \cd",d:ExpTable[printidx35], s:"\n\cf Level[\cn",d:printidx16,s:"\cf]: \cd",d:ExpTable[printidx16],s:"\cf Level[\cn",d:printidx36,s:"\cf]: \cd",d:ExpTable[printidx36], s:"\n\cf Level[\cn",d:printidx17,s:"\cf]: \cd",d:ExpTable[printidx17],s:"\cf Level[\cn",d:printidx37,s:"\cf]: \cd",d:ExpTable[printidx37], s:"\n\cf Level[\cn",d:printidx18,s:"\cf]: \cd",d:ExpTable[printidx18],s:"\cf Level[\cn",d:printidx38,s:"\cf]: \cd",d:ExpTable[printidx38], s:"\n\cf Level[\cn",d:printidx19,s:"\cf]: \cd",d:ExpTable[printidx19],s:"\cf Level[\cn",d:printidx39,s:"\cf]: \cd",d:ExpTable[printidx39] ); } // DEBUG SCRIPT: Prints out or changes the number for the "MiscellaneousVars[#]" vars. script "DMV" (int index, int type, int value) { int oldvalue; int newvalue; int printidx0, printidx1, printidx2, printidx3, printidx4, printidx5, printidx6, printidx7, printidx8, printidx9; int printidx10, printidx11, printidx12, printidx13, printidx14, printidx15, printidx16, printidx17, printidx18, printidx19; int printidx20, printidx21, printidx22, printidx23, printidx24, printidx25, printidx26, printidx27, printidx28, printidx29; int printidx30, printidx31, printidx32, printidx33, printidx34, printidx35, printidx36, printidx37, printidx38, printidx39; if (index >= 0) { oldvalue = MiscellaneousVars[index]; if (type == 1) MiscellaneousVars[index] += value; // adds to the value if (type == 2) MiscellaneousVars[index] = value; // sets the value newvalue = MiscellaneousVars[index]; if (type == 0) { PrintBold(s:"Index: ",d:index, s:"\nValue: ",d:newvalue); } else { PrintBold(s:"Index: ",d:index, s:"\nOldValue: ",d:oldvalue, s:"\nNewValue: ",d:newvalue); } } else { // Prints the entire list [although you'll need to read into the console to see all the values, as it only shows 40 at a time, and only the last forty will show on your screen :P] printidx0 = 0; printidx1 = 1; printidx2 = 2; printidx3 = 3; printidx4 = 4; printidx5 = 5; printidx6 = 6; printidx7 = 7; printidx8 = 8; printidx9 = 9; printidx10 = 10; printidx11 = 11; printidx12 = 12; printidx13 = 13; printidx14 = 14; printidx15 = 15; printidx16 = 16; printidx17 = 17; printidx18 = 18; printidx19 = 19; printidx20 = 20; printidx21 = 21; printidx22 = 22; printidx23 = 23; printidx24 = 24; printidx25 = 25; printidx26 = 26; printidx27 = 27; printidx28 = 28; printidx29 = 29; printidx30 = 30; printidx31 = 31; printidx32 = 32; printidx33 = 33; printidx34 = 34; printidx35 = 35; printidx36 = 36; printidx37 = 37; printidx38 = 38; printidx39 = 39; // 0 - 39 PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 40 - 79 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 80 - 119 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 120 - 159 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 160 - 199 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 200 - 239 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 240 - 279 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 280 - 319 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 320 - 359 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 360 - 399 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 400 - 439 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 440 - 479 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 480 - 519 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 520 - 559 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 560 - 599 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 600 - 639 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 640 - 679 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 680 - 719 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 720 - 759 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 760 - 799 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 800 - 839 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 840 - 879 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 880 - 919 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 920 - 959 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); // 960 - 999 printidx0 += 40; printidx1 += 40; printidx2 += 40; printidx3 += 40; printidx4 += 40; printidx5 += 40; printidx6 += 40; printidx7 += 40; printidx8 += 40; printidx9 += 40; printidx10 += 40; printidx11 += 40; printidx12 += 40; printidx13 += 40; printidx14 += 40; printidx15 += 40; printidx16 += 40; printidx17 += 40; printidx18 += 40; printidx19 += 40; printidx20 += 40; printidx21 += 40; printidx22 += 40; printidx23 += 40; printidx24 += 40; printidx25 += 40; printidx26 += 40; printidx27 += 40; printidx28 += 40; printidx29 += 40; printidx30 += 40; printidx31 += 40; printidx32 += 40; printidx33 += 40; printidx34 += 40; printidx35 += 40; printidx36 += 40; printidx37 += 40; printidx38 += 40; printidx39 += 40; PrintBold ( s:"\cf Index[\cn",d:printidx0,s:"\cf]: \cd",d:MiscellaneousVars[printidx0],s:"\cf Index[\cn",d:printidx20,s:"\cf]: \cd",d:MiscellaneousVars[printidx20], s:"\n\cf Index[\cn",d:printidx1,s:"\cf]: \cd",d:MiscellaneousVars[printidx1],s:"\cf Index[\cn",d:printidx21,s:"\cf]: \cd",d:MiscellaneousVars[printidx21], s:"\n\cf Index[\cn",d:printidx2,s:"\cf]: \cd",d:MiscellaneousVars[printidx2],s:"\cf Index[\cn",d:printidx22,s:"\cf]: \cd",d:MiscellaneousVars[printidx22], s:"\n\cf Index[\cn",d:printidx3,s:"\cf]: \cd",d:MiscellaneousVars[printidx3],s:"\cf Index[\cn",d:printidx23,s:"\cf]: \cd",d:MiscellaneousVars[printidx23], s:"\n\cf Index[\cn",d:printidx4,s:"\cf]: \cd",d:MiscellaneousVars[printidx4],s:"\cf Index[\cn",d:printidx24,s:"\cf]: \cd",d:MiscellaneousVars[printidx24], s:"\n\cf Index[\cn",d:printidx5,s:"\cf]: \cd",d:MiscellaneousVars[printidx5],s:"\cf Index[\cn",d:printidx25,s:"\cf]: \cd",d:MiscellaneousVars[printidx25], s:"\n\cf Index[\cn",d:printidx6,s:"\cf]: \cd",d:MiscellaneousVars[printidx6],s:"\cf Index[\cn",d:printidx26,s:"\cf]: \cd",d:MiscellaneousVars[printidx26], s:"\n\cf Index[\cn",d:printidx7,s:"\cf]: \cd",d:MiscellaneousVars[printidx7],s:"\cf Index[\cn",d:printidx27,s:"\cf]: \cd",d:MiscellaneousVars[printidx27], s:"\n\cf Index[\cn",d:printidx8,s:"\cf]: \cd",d:MiscellaneousVars[printidx8],s:"\cf Index[\cn",d:printidx28,s:"\cf]: \cd",d:MiscellaneousVars[printidx28], s:"\n\cf Index[\cn",d:printidx9,s:"\cf]: \cd",d:MiscellaneousVars[printidx9],s:"\cf Index[\cn",d:printidx29,s:"\cf]: \cd",d:MiscellaneousVars[printidx29], s:"\n\cf Index[\cn",d:printidx10,s:"\cf]: \cd",d:MiscellaneousVars[printidx10],s:"\cf Index[\cn",d:printidx30,s:"\cf]: \cd",d:MiscellaneousVars[printidx30], s:"\n\cf Index[\cn",d:printidx11,s:"\cf]: \cd",d:MiscellaneousVars[printidx11],s:"\cf Index[\cn",d:printidx31,s:"\cf]: \cd",d:MiscellaneousVars[printidx31], s:"\n\cf Index[\cn",d:printidx12,s:"\cf]: \cd",d:MiscellaneousVars[printidx12],s:"\cf Index[\cn",d:printidx32,s:"\cf]: \cd",d:MiscellaneousVars[printidx32], s:"\n\cf Index[\cn",d:printidx13,s:"\cf]: \cd",d:MiscellaneousVars[printidx13],s:"\cf Index[\cn",d:printidx33,s:"\cf]: \cd",d:MiscellaneousVars[printidx33], s:"\n\cf Index[\cn",d:printidx14,s:"\cf]: \cd",d:MiscellaneousVars[printidx14],s:"\cf Index[\cn",d:printidx34,s:"\cf]: \cd",d:MiscellaneousVars[printidx34], s:"\n\cf Index[\cn",d:printidx15,s:"\cf]: \cd",d:MiscellaneousVars[printidx15],s:"\cf Index[\cn",d:printidx35,s:"\cf]: \cd",d:MiscellaneousVars[printidx35], s:"\n\cf Index[\cn",d:printidx16,s:"\cf]: \cd",d:MiscellaneousVars[printidx16],s:"\cf Index[\cn",d:printidx36,s:"\cf]: \cd",d:MiscellaneousVars[printidx36], s:"\n\cf Index[\cn",d:printidx17,s:"\cf]: \cd",d:MiscellaneousVars[printidx17],s:"\cf Index[\cn",d:printidx37,s:"\cf]: \cd",d:MiscellaneousVars[printidx37], s:"\n\cf Index[\cn",d:printidx18,s:"\cf]: \cd",d:MiscellaneousVars[printidx18],s:"\cf Index[\cn",d:printidx38,s:"\cf]: \cd",d:MiscellaneousVars[printidx38], s:"\n\cf Index[\cn",d:printidx19,s:"\cf]: \cd",d:MiscellaneousVars[printidx19],s:"\cf Index[\cn",d:printidx39,s:"\cf]: \cd",d:MiscellaneousVars[printidx39] ); /* PrintBold ( s:"\cf Index[\cn0\cf]: \cd",d:MiscellaneousVars[0],s:"\cf Index[\cn20\cf]: \cd",d:MiscellaneousVars[20], s:"\n\cf Index[\cn1\cf]: \cd",d:MiscellaneousVars[1],s:"\cf Index[\cn21\cf]: \cd",d:MiscellaneousVars[21], s:"\n\cf Index[\cn2\cf]: \cd",d:MiscellaneousVars[2],s:"\cf Index[\cn22\cf]: \cd",d:MiscellaneousVars[22], s:"\n\cf Index[\cn3\cf]: \cd",d:MiscellaneousVars[3],s:"\cf Index[\cn23\cf]: \cd",d:MiscellaneousVars[23], s:"\n\cf Index[\cn4\cf]: \cd",d:MiscellaneousVars[4],s:"\cf Index[\cn24\cf]: \cd",d:MiscellaneousVars[24], s:"\n\cf Index[\cn5\cf]: \cd",d:MiscellaneousVars[5],s:"\cf Index[\cn25\cf]: \cd",d:MiscellaneousVars[25], s:"\n\cf Index[\cn6\cf]: \cd",d:MiscellaneousVars[6],s:"\cf Index[\cn26\cf]: \cd",d:MiscellaneousVars[26], s:"\n\cf Index[\cn7\cf]: \cd",d:MiscellaneousVars[7],s:"\cf Index[\cn27\cf]: \cd",d:MiscellaneousVars[27], s:"\n\cf Index[\cn8\cf]: \cd",d:MiscellaneousVars[8],s:"\cf Index[\cn28\cf]: \cd",d:MiscellaneousVars[28], s:"\n\cf Index[\cn9\cf]: \cd",d:MiscellaneousVars[9],s:"\cf Index[\cn29\cf]: \cd",d:MiscellaneousVars[29], s:"\n\cf Index[\cn10\cf]: \cd",d:MiscellaneousVars[10],s:"\cf Index[\cn30\cf]: \cd",d:MiscellaneousVars[30], s:"\n\cf Index[\cn11\cf]: \cd",d:MiscellaneousVars[11],s:"\cf Index[\cn31\cf]: \cd",d:MiscellaneousVars[31], s:"\n\cf Index[\cn12\cf]: \cd",d:MiscellaneousVars[12],s:"\cf Index[\cn32\cf]: \cd",d:MiscellaneousVars[32], s:"\n\cf Index[\cn13\cf]: \cd",d:MiscellaneousVars[13],s:"\cf Index[\cn33\cf]: \cd",d:MiscellaneousVars[33], s:"\n\cf Index[\cn14\cf]: \cd",d:MiscellaneousVars[14],s:"\cf Index[\cn34\cf]: \cd",d:MiscellaneousVars[34], s:"\n\cf Index[\cn15\cf]: \cd",d:MiscellaneousVars[15],s:"\cf Index[\cn35\cf]: \cd",d:MiscellaneousVars[35], s:"\n\cf Index[\cn16\cf]: \cd",d:MiscellaneousVars[16],s:"\cf Index[\cn36\cf]: \cd",d:MiscellaneousVars[36], s:"\n\cf Index[\cn17\cf]: \cd",d:MiscellaneousVars[17],s:"\cf Index[\cn37\cf]: \cd",d:MiscellaneousVars[37], s:"\n\cf Index[\cn18\cf]: \cd",d:MiscellaneousVars[18],s:"\cf Index[\cn38\cf]: \cd",d:MiscellaneousVars[38], s:"\n\cf Index[\cn19\cf]: \cd",d:MiscellaneousVars[19],s:"\cf Index[\cn39\cf]: \cd",d:MiscellaneousVars[39] ); */ } } // DEBUG SCRIPT: for Printing Armor Amounts on Screen script "PrintArmorValues" (void) { int ArmorCheck; ArmorCheck = CheckInventory("BasicArmor"); Print(s:"BasicArmor: ",d:ArmorCheck); ArmorCheck = CheckInventory("GreenArmor"); Print(s:"GreenArmor: ",d:ArmorCheck); ArmorCheck = CheckInventory("BlueArmor"); Print(s:"BlueArmor: ",d:ArmorCheck); ArmorCheck = CheckInventory("StoneSkin"); Print(s:"StoneSkin: ",d:ArmorCheck); ArmorCheck = CheckInventory("StoneSkinGA"); Print(s:"StoneSkinGA: ",d:ArmorCheck); ArmorCheck = CheckInventory("DiamondSkin"); Print(s:"DiamondSkin: ",d:ArmorCheck); ArmorCheck = CheckInventory("DiamondSkinGA"); Print(s:"DiamondSkinGA: ",d:ArmorCheck); ArmorCheck = CheckInventory("ArmorBonusDSGreen"); Print(s:"ArmorBonusDSGreen: ",d:ArmorCheck); ArmorCheck = CheckInventory("ArmorBonusDSBlue"); Print(s:"ArmorBonusDSBlue: ",d:ArmorCheck); ArmorCheck = CheckInventory("ArmorBonusDSStone1"); Print(s:"ArmorBonusDSStone1: ",d:ArmorCheck); ArmorCheck = CheckInventory("ArmorBonusDSStone2"); Print(s:"ArmorBonusDSStone2: ",d:ArmorCheck); ArmorCheck = CheckInventory("ArmorBonusDSDiamond1"); Print(s:"ArmorBonusDSDiamond1: ",d:ArmorCheck); ArmorCheck = CheckInventory("ArmorBonusDSDiamond2"); Print(s:"ArmorBonusDSDiamond2: ",d:ArmorCheck); /* ArmorCheck = CheckInventory("SpiritualExoskin"); Print(s:"SpiritualExoskin: ",d:ArmorCheck); ArmorCheck = CheckInventory("GreaterSpiritualExoskin"); Print(s:"GreaterSpiritualExoskin: ",d:ArmorCheck); ArmorCheck = CheckInventory("PerfectedSpiritualExoskin"); Print(s:"PerfectedSpiritualExoskin: ",d:ArmorCheck); */ } // DEBUG SCRIPT: Prints out damage on screen for a projectile attached to this script script "DamagePrintout" (void) { int Damage; Damage = GetActorProperty(0,APROP_Damage); PrintBold(d:Damage); } // DEBUG SCRIPT: Set Levelcap Manually script "SetLevelCap" (int Value) { if (Value > 99) { if (Value < 201) { LevelCap = Value; } else { LevelCap = 200; } } else { LevelCap = 100; } } // DEBUG SCRIPT: Resets Fade script "ResetFade" (void) { FadeTo(0, 0, 0, 0.0, 0.0001); } // DEBUG SCRIPT: Sets Mana to the Current Amount script "SetManaAmount" (int Value) { CurrentMana = Value; int MaxManaLimit; if (CurrentMana < 1) CurrentMana = 0; MaxManaLimit = MaxMana * 2; if (CurrentMana > MaxManaLimit) CurrentMana = MaxManaLimit; } // DEBUG SCRIPT: Sets Mana to a Certain Amount script "ChangeMana" (int setadd, int value) { if (setadd == 0) // Sets the stat to a fixed value { CurrentMana = value; } else // Adds/Subtracts the stat { CurrentMana += value; } } // DEBUG SCRIPT: Cheat to set stats (pukename "GiveStats" [type] [set/add] [value]) // [TYPE] // 0 = Aeon Points // 1 = Agility // 2 = Defense // 3 = Deftness // 4 = Sorcery // 5 = Strength // 6 = Therapeusis // 7 = Hit Points/Health // 8 = Magic Points/Mana // [SETADD] // 0 = Sets [value] to a Fixed Number // 1 = Adds/Subtracts the Value by [value] script "GiveStats" (int type, int setadd, int value) { if (setadd == 0) // Sets the stat to a fixed value { if (type == 0) MiscellaneousVars[25] = value; // Set Aeon Points if (type == 1) MiscellaneousVars[31] = value; // Set Agility if (type == 2) MiscellaneousVars[32] = value; // Set Defense if (type == 3) MiscellaneousVars[33] = value; // Set Deftness if (type == 4) MiscellaneousVars[34] = value; // Set Sorcery if (type == 5) MiscellaneousVars[35] = value; // Set Strength if (type == 6) MiscellaneousVars[36] = value; // Set Therapeusis if (type == 7) { MaxHealthTrue = value; if (MaxHealthTrue < 1) MaxHealthTrue = 1; } if (type == 8) MaxMana = value; } else // Adds/Subtracts the stat { if (type == 0) // Add Aeon Points { MiscellaneousVars[25] += value; MiscellaneousVars[224] += value; MiscellaneousVars[2033] = 105; } if (type == 1) // Add Agility { MiscellaneousVars[31] += value; MiscellaneousVars[225] += value; MiscellaneousVars[2034] = 105; } if (type == 2) // Add Defense { MiscellaneousVars[32] += value; MiscellaneousVars[226] += value; MiscellaneousVars[2035] = 105; } if (type == 3) // Add Deftness { MiscellaneousVars[33] += value; MiscellaneousVars[227] += value; MiscellaneousVars[2036] = 105; } if (type == 4) // Add Sorcery { MiscellaneousVars[34] += value; MiscellaneousVars[228] += value; MiscellaneousVars[2037] = 105; } if (type == 5) // Add Strength { MiscellaneousVars[35] += value; MiscellaneousVars[229] += value; MiscellaneousVars[2038] = 105; } if (type == 6) // Add Therapeusis { MiscellaneousVars[36] += value; MiscellaneousVars[230] += value; MiscellaneousVars[2039] = 105; } if (type == 7) // Add MaxHP { MaxHealthTrue += value; MiscellaneousVars[222] += value; MiscellaneousVars[2031] = 105; if (MaxHealthTrue < 1) MaxHealthTrue = 1; } if (type == 8) // Add MaxMP { MaxMana += value; MiscellaneousVars[223] += value; MiscellaneousVars[2032] = 105; } } // Lower End Limits if (MiscellaneousVars[25] < 0) MiscellaneousVars[25] = 0; if (MiscellaneousVars[31] < 0) MiscellaneousVars[31] = 0; if (MiscellaneousVars[32] < 0) MiscellaneousVars[32] = 0; if (MiscellaneousVars[33] < 0) MiscellaneousVars[33] = 0; if (MiscellaneousVars[34] < 0) MiscellaneousVars[34] = 0; if (MiscellaneousVars[35] < 0) MiscellaneousVars[35] = 0; if (MiscellaneousVars[36] < 0) MiscellaneousVars[36] = 0; if (MaxMana < 1) MaxMana = 1; // Higher End Limits if (MiscellaneousVars[25] > 3072) MiscellaneousVars[25] = 3072; if (MiscellaneousVars[31] > 512) MiscellaneousVars[31] = 512; if (MiscellaneousVars[32] > 512) MiscellaneousVars[32] = 512; if (MiscellaneousVars[33] > 512) MiscellaneousVars[33] = 512; if (MiscellaneousVars[34] > 512) MiscellaneousVars[34] = 512; if (MiscellaneousVars[35] > 512) MiscellaneousVars[35] = 512; if (MiscellaneousVars[36] > 512) MiscellaneousVars[36] = 512; } // DEBUG SCRIPT: "Pukename ExpCheat [number of experience to add/subtract/set to] [EXP type] [EXP Increment Type]" script "ExpCheat" (int EXPAmount, int EXPType, int EXPIncType) { // EXPType = 0 is Normal EXP, 1 is Sceptre EXP, 2 is Both Types // EXPIncType = 0 is to add, 1 is to subtract, 2 is to set if (EXPType == 0) { if (EXPIncType == 0) Experience += EXPAmount; if (EXPIncType == 1) Experience -= EXPAmount; if (EXPIncType == 2) Experience = EXPAmount; if (Experience < 0) Experience = 0; } if (EXPType == 1) { if (EXPIncType == 0) SceptreLevelEXP += EXPAmount; if (EXPIncType == 1) SceptreLevelEXP -= EXPAmount; if (EXPIncType == 2) SceptreLevelEXP = EXPAmount; if (SceptreLevelEXP < 0) SceptreLevelEXP = 0; } if (EXPType == 2) { if (EXPIncType == 0) Experience += EXPAmount; if (EXPIncType == 1) Experience -= EXPAmount; if (EXPIncType == 2) Experience = EXPAmount; if (Experience < 0) Experience = 0; if (EXPIncType == 0) SceptreLevelEXP += EXPAmount; if (EXPIncType == 1) SceptreLevelEXP -= EXPAmount; if (EXPIncType == 2) SceptreLevelEXP = EXPAmount; if (SceptreLevelEXP < 0) SceptreLevelEXP = 0; } } // DEBUG: Used for testing SetHudSize customization in-game. script "TestHudSize" (int screenX, int screenY, int usehud) { MiscellaneousVars[76] = screenX; MiscellaneousVars[77] = screenY; MiscellaneousVars[78] = usehud; } // DEBUG: Forces the Player to Freeze/Unfreeze script "playerfreeze" (int type) { SetPlayerProperty(1,type,PROP_TOTALLYFROZEN); GiveInventory("IsScriptFrozen",type); } #define MAX_SKILLS 9 str monsterChooser[MAX_SKILLS] = { "LDLegendaryMonsterChooserEasy", "LDLegendaryMonsterChooserNormal", "LDLegendaryMonsterChooserHard", "LDLegendaryMonsterChooserUV", "LDLegendaryMonsterChooserNightmare", "LDLegendaryMonsterPickupExtreme", "LDLegendaryMonsterPickupHorrible", "LDLegendaryMonsterPickupImpossible", "LDLegendaryMonsterPickupOmega" }; // -------------------------------------------------- // UTILITY FUNCTIONS // function void TossItem(str item) { int xtoss = GetActorX(0) + 4.0; int ytoss = GetActorY(0) + 4.0; int ztoss = GetActorZ(0) + 24.0; int angle = GetActorAngle(0); int tid = UniqueTID(); int xspeed = FixedMul(cos(angle), 8.0); int yspeed = FixedMul(sin(angle), 8.0); SpawnForced(item, xtoss, ytoss, ztoss, tid, 0); SetActorVelocity(tid, xspeed, yspeed, -4.0, true, false); SetActorAngle(tid, angle); SetActorPosition(tid, xtoss, ytoss, ztoss, 0); Thing_ChangeTID(tid, 0); } function void ClearHudMessage(int id) { HudMessage(s:"\n"; HUDMSG_PLAIN, id, CR_WHITE, 0.0, 0.0, 0.0); } // -------------------------------------------------- // SCRIPTS // /* script "LDWorldInit" open { Delay(1); // Give the world a chance to spawn int skill = GameSkill(); if (skill > MAX_SKILLS-1) { log(s:"LDWorldInit: Skill exceeded max ", d:MAX_SKILLS - 1, s:" (was ", d:skill, s:")"); skill = MAX_SKILLS - 1; } restart; } */ script "LDMonsterInit" (void) { Delay(1); // Give the monster a chance to calc it's DV-DS stats first int StartTID = ActivatorTID(); if (ActivatorTID() != 0) terminate; int DVDSspawnHealth = GetUserVariable(0, "user_MaxHP"); int EvolveHPLevel = DVDSspawnHealth / random(2,4); int spawnHealth = GetUserVariable(0, "user_MaxHP"); SetActorFlag(0,"BUDDHA",1); int realSpawnHealth = spawnHealth; int tid = UniqueTID(); tid += 5000; bool evolved = false; If (GetUserVariable(0, "user_willbecomelegendary") > 0) terminate; SetUserVariable(0, "user_willbecomelegendary", 1); if (GetCVar("LD_legendarydebug")) Log(s:"\cdLD DEBUG\c-: \ca", s:GetActorClass(0), s:" \c-(", d:StartTID, s:" / ", d:tid, s:") has been \cdLEGENDARIFIED\c-"); if (!SpawnForced("DRPGLegenDoomActive", 0, 0, 0, tid, 0)) { if (CheckFlag(0, "BOSS")) spawnHealth *= GetCVar("LD_legendaryhealthboss") / 100; else spawnHealth *= GetCVar("LD_legendaryhealth") / 100; } else Thing_Remove(tid); while (true) { int health = GetActorProperty(0, APROP_Health); int olddamagemulti = GetActorProperty(0,APROP_DamageMultiplier); int newdamagemulti; int olddamagereduce = GetActorProperty(0,APROP_DamageFactor); int newdamagereduce; int oldspeed = GetActorProperty(0,APROP_Speed); int newspeed; int oldmass = GetActorProperty(0,APROP_Mass); int newmass; if (health > 0 && health <= EvolveHPLevel && !evolved) { SetActorProperty(0, APROP_Health, spawnHealth); SetUserVariable(0, "user_MaxHP", spawnHealth); SetUserVariable(0, "user_legendaryevolved", 1); SetActorFlag(0,"BUDDHA",0); if (CheckFlag(0, "BOSS")) { GiveInventory("LDLegendaryMonsterBossStatBoost", 1); newdamagemulti = FixedMul(olddamagemulti,GetCVar("LD_legendarydamageboss")); if (GetCVar("LD_legendarydebug")) Log(s:"New DamageMulti: ",f:newdamagemulti); SetActorProperty(0, APROP_DamageMultiplier, newdamagemulti); newdamagereduce = FixedMul(olddamagereduce,GetCVar("LD_legendarydefenseboss")); if (GetCVar("LD_legendarydebug")) Log(s:"New DamageReduce: ",f:newdamagereduce); SetActorProperty(0, APROP_DamageFactor, newdamagereduce); newmass = oldmass * GetCVar("LD_legendarymassboss") / 100; // FixedMul(oldmass,GetCVar("LD_legendarymassboss")); if (GetCVar("LD_legendarydebug")) Log(s:"New Mass: ",d:newmass); SetActorProperty(0, APROP_Mass, newmass); } else { GiveInventory("LDLegendaryMonsterStatBoost", 1); newdamagemulti = FixedMul(olddamagemulti,GetCVar("LD_legendarydamage")); if (GetCVar("LD_legendarydebug")) Log(s:"New DamageMulti: ",f:newdamagemulti); SetActorProperty(0, APROP_DamageMultiplier, newdamagemulti); newdamagereduce = FixedMul(olddamagereduce,GetCVar("LD_legendarydefense")); if (GetCVar("LD_legendarydebug")) Log(s:"New DamageReduce: ",f:newdamagereduce); SetActorProperty(0, APROP_DamageFactor, newdamagereduce); /* newspeed = FixedMul(oldspeed,GetCVar("LD_legendaryspeed")); if (GetCVar("LD_legendarydebug")) Log(s:"New Speed: ",f:newspeed); SetActorProperty(0, APROP_Speed, newspeed); SetUserVariable(0, "actorbasespeed", newspeed); */ newmass = oldmass * GetCVar("LD_legendarymass") / 100; // FixedMul(oldmass,GetCVar("LD_legendarymass")); if (GetCVar("LD_legendarydebug")) Log(s:"New Mass: ",d:newmass); SetActorProperty(0, APROP_Mass, newmass); } evolved = true; } if (health <= 0) { if (CheckFlag(0, "BOSS")) { if (evolved) TossItem("LDLiteDVDSBossItem"); // TossItem("LDLiteBossItem"); GiveInventory("LDLegendaryMonsterDed", 1); } else { if (evolved) { TossItem("LDLiteDVDSItem"); // TossItem("LDLiteItem"); } GiveInventory("LDLegendaryMonsterDed", 1); } terminate; } Delay(1); } } int isDRLA = 2; script "DRLALDLiteCheck" (void) { if (isDRLA == 2) { int TID = UniqueTID(); int spawned = SpawnForced("RLArsenalThingo", 0, 0, 0, TID, 0); if (spawned) { Thing_Remove(TID); isDRLA = true; } else isDRLA = false; } SetResultValue(isDRLA); } script "Draw_Pentagram" (int pentaradius) { int px, py, c_angle, count; int posx, posy, posz; int radius = pentaradius << 16; int angle; int offset = 0; int linepoints_x[5]; int linepoints_y[5]; int point1, point2; int linepos; int vec; int alpha = 1; bool fadeout = false; posx = GetActorX(0); posy = GetActorY(0); posz = GetActorZ(0); while (true) { // Draw the circle, 360 points for (count = 360; count > 0; count--) { angle = 1.0 / 360 * count; px = posx + FixedMul(cos(angle), radius); py = posy + FixedMul(sin(angle), radius); SpawnParticle(0xFF0000, true, Random(1, 3), Random(5, 7), px, py, posz, 0, 0, 0, 0, 0, 0, alpha, 255); } // Draw each line, 5 points // First build the point positions for (count = 5; count > 0; count--) { angle = 1.0 / 5 * count; linepoints_x[count - 1] = posx + FixedMul(cos(angle), radius); linepoints_y[count - 1] = posy + FixedMul(sin(angle), radius); } // Now draw 5 line vectors, skipping every second number to draw the star point1 = 0; point2 = 2; // (point1 + 2) % 5 for (count = 0; count < 5; count++) { for (linepos = FixedMul(radius, 1.9) >> 16; linepos > 0; linepos--) { vec = VectorAngle(linepoints_x[point2] - linepoints_x[point1], linepoints_y[point2] - linepoints_y[point1]); px = linepoints_x[point1] + linepos * Cos(vec); py = linepoints_y[point1] + linepos * Sin(vec); SpawnParticle(0xFF0000, true, Random(1, 3), Random(5, 7), px, py, posz, 0, 0, 0, 0, 0, 0, alpha, 255); } point1 = point2; point2 = (point1 + 2) % 5; } if (!fadeout) { alpha += 20; if (alpha > 255) { alpha = 255; fadeout = true; } } else { alpha -= 2; if (alpha < 2) terminate; } Delay(1); } } // -------------------------------------------------- // DECORATE HELPERS // script "PlayerCount" (void) { SetResultValue(PlayerCount()); } // -------------------------------------------------- // CVAR GETTERS // script "LD_LegendaryHealth" (void) { SetResultValue(GetCVar("LD_legendaryhealth")); } script "LD_LegendaryHealthBoss" (void) { SetResultValue(GetCVar("LD_legendaryhealthboss")); } script "LD_LegendaryChance" (void) { SetResultValue(GetCVar("LD_legendarychance")); } script "LD_DieMode" (void) { SetResultValue(GetCVar("LD_diemode")); } script "LD_NoMonsters" (void) { SetResultValue(GetCVar("LD_nomonsters")); } script "LD_NoBosses" (void) { SetResultValue(GetCVar("LD_nobosses")); } script "LD_LegendaryMarkers" (void) { SetResultValue(GetCVar("LD_legendarymarkers")); } script "LD_LegendaryDebug" (void) { SetResultValue(GetCVar("LD_legendarydebug")); }