Skip to content

Commit

Permalink
- Misc :V
Browse files Browse the repository at this point in the history
  • Loading branch information
LordMisfit committed Jun 23, 2019
1 parent 447455f commit c9a9295
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 185 deletions.
Binary file modified acs/spelllib.o
Binary file not shown.
185 changes: 0 additions & 185 deletions scripts/SPELLSRC.acs
Expand Up @@ -127,7 +127,6 @@
["EmulateGiveArmorBonus"] - Emulates Armor Bonuses for all four types of normal armor in DVI[I]-DS. [Applies Only to Deggaris and Illucia] (also one part of the Sauron's Gauntlet hit effect)
["SauronItemSpawnerCheck"] - Calculates the occurance rate of Sauron's Gauntlets and Sauron's Helmet Dropping.
["SetSauravatarHealth"] - Configures the full max health of the Sauravatar and sets it to its proper Health to start the fight [DVI-DS & DVII-DS]
["AddSceptreEXP"] - Accmulate EXP for Sceptre of Empyrea [Flora only]
["Hand-GravityAttack"] - Using a Diabloist's Hands' HP Gravity attack-projectile on an enemy.
["GetPlayerLevel"] - Returns the Player's Level [for A_JumpIf checks in DECORATE]
["WeaponAngleLoop"] - For the Sceptre's Spin Attack & HellCore Weapons (used as a replacement for uservars in weapons)
Expand Down Expand Up @@ -25314,190 +25313,6 @@ script "SPECIALMAPEVENTS" ENTER
}
}

// Accmulate EXP for Sceptre
script "AddSceptreEXP" (int SExPts, int Check2, int DivAmount)
{
int ExpPiecesToAdd;
int EXPBonus1;
int BossEnemy;
int DeftnessExpBase = GetCVar("dvds_deftnessexpbase");
int SceptreExpMultiplier = GetCVar("dvds_sceptreexpmultiplier");

if (ModType == 0 && GetCVar("dvds_noscexpgains") != 0) terminate;

if (BossEnemy != 0) DivAmount *= 10;
if (DivAmount <= 1) DivAmount = 1;

if (CharacterClass != 2) terminate;
if (CharacterClass == 2)
{
if (Check2 > 0)
{
ExpPiecesToAdd = 16 - SceptreActualLevel;
if (ExpPiecesToAdd < 1) ExpPiecesToAdd += 16;
if (ExpPiecesToAdd > 16) ExpPiecesToAdd -= 16;

EXPBonus1 = 1000;
// Pearly Corset [+2.5/5% EXP Bonus]
if (CheckActorInventory(Player1TID,"SafeTeaShoes"))
{
if (random(1,100) <= 5) EXPBonus1 += 50; // 5% Chance of +5% EXP Bonus
else EXPBonus1 += 25; // Else +2.5% EXP Bonus
}
// Pearly Corset [+20/30% EXP Bonus]
if (CheckActorInventory(Player1TID,"PearlyCorset"))
{
if (random(1,100) <= 5) EXPBonus1 += 300; // 5% Chance of +30% EXP Bonus
else EXPBonus1 += 200; // Else +20% EXP Bonus
}
// Dove's [+2.5/5% EXP Bonus]
if (CheckActorInventory(Player1TID,"DoveRibbon"))
{
if (random(1,100) <= 5) EXPBonus1 += 50; // 5% Chance of +5% EXP Bonus
else EXPBonus1 += 25; // Else +2.5% EXP Bonus
}
ExpPiecesToAdd = ExpPiecesToAdd * EXPBonus1 / 1000;

EXPBonus1 = 1000;
// Divine Avatar {+25% EXP Bonus]
if (PowerupTimer[7] > 0)
{
if (random(1,100) <= 20) EXPBonus1 += 500; // 20% Chance of +50% EXP Bonus
else EXPBonus1 += 250; // 20% Else +25% EXP Bonus
}
ExpPiecesToAdd = ExpPiecesToAdd * EXPBonus1 / 1000;
ExpPiecesToAdd = ExpPiecesToAdd * (DeftnessExpBase + MiscellaneousVars[33]) / DeftnessExpBase;
ExpPiecesToAdd = ExpPiecesToAdd * SceptreExpMultiplier / 100;

// "Higher Learning" Grand Mastery Perk
if (MiscellaneousVars[11001] == 1) ExpPiecesToAdd = ExpPiecesToAdd * 23 / 20; // [115%]
if (MiscellaneousVars[11001] == 2) ExpPiecesToAdd = ExpPiecesToAdd * 13 / 10; // [130%]

if (ModType == 0) ExpPiecesToAdd = ExpPiecesToAdd * 4 / 3; // Classic Doom 1/2 / Heretic / Hexen / Strife
MiscellaneousVars[203] += ExpPiecesToAdd;


// PrintBold(d:ExpPiecesToAdd);
while (MiscellaneousVars[203] > 15) // if (MiscellaneousVars[203] > 15)
{
MiscellaneousVars[203] -= 16;
SceptreLevelEXP += 1;
}
}
else
{
if (GetUserVariable(0,"user_MaxHP") > 0) SExPts = GetUserVariable(0,"user_MaxHP"); else SExPts = GetActorProperty(0,APROP_SpawnHealth);
if (ModType == 0) SExPts = SExPts * 4 / 3; // Classic Doom 1/2 / Heretic / Hexen / Strife
SExPts *= 16; // * 16 is because each full Sceptre EXP Point is 16 "fragments".
SExPts = SExPts / 300;

// Check for if the monster calling the script is a boss or strong monster [to cut down on SExp Gains]
if (CheckActorClass(0, "Benellus1DS")) DivAmount *= 16;
if (CheckActorClass(0, "Benellus2DS")) DivAmount *= 16;
if (CheckActorClass(0, "Benellus3DS")) DivAmount *= 16;
if (CheckActorClass(0, "DragonNew")) DivAmount *= 16;
if (CheckActorClass(0, "HeresiarchNew")) DivAmount *= 16;
if (CheckActorClass(0, "ClericBossNew")) DivAmount *= 16;
if (CheckActorClass(0, "MageBossNew")) DivAmount *= 16;
if (CheckActorClass(0, "FighterBossNew")) DivAmount *= 16;
if (CheckActorClass(0, "DSparilMountedNew")) DivAmount *= 12; // 12
if (CheckActorClass(0, "DSparilUnmountedNew")) DivAmount *= 16;
if (CheckActorClass(0, "KoraxNew")) DivAmount *= 16;
if (CheckActorClass(0, "Zakachi")) DivAmount *= 16;
if (CheckActorClass(0, "AvatarNew")) DivAmount *= 16; // 32
if (CheckActorClass(0, "ProgrammerNew")) DivAmount *= 16;
if (CheckActorClass(0, "StrifeBishopNew")) DivAmount *= 16;
if (CheckActorClass(0, "OracleNew")) DivAmount *= 16;
if (CheckActorClass(0, "Macil1New")) DivAmount *= 16;
if (CheckActorClass(0, "Macil2New")) DivAmount *= 16;
if (CheckActorClass(0, "LoremasterNew")) DivAmount *= 16;
if (CheckActorClass(0, "SourceGuardian")) DivAmount *= 16;
if (CheckActorClass(0, "AlienSpectre1New")) DivAmount *= 16; // 24
if (CheckActorClass(0, "AlienSpectre2New")) DivAmount *= 16; // 24
if (CheckActorClass(0, "AlienSpectre3New")) DivAmount *= 16; // 24
if (CheckActorClass(0, "AlienSpectre4New")) DivAmount *= 16; // 24
if (CheckActorClass(0, "AlienSpectre5New")) DivAmount *= 16; // 24
if (CheckActorClass(0, "AlienSpectre1Model")) DivAmount *= 16; // 24
if (CheckActorClass(0, "AlienSpectre2Model")) DivAmount *= 16; // 24
if (CheckActorClass(0, "AlienSpectre3Model")) DivAmount *= 16; // 24
if (CheckActorClass(0, "AlienSpectre4Model")) DivAmount *= 16; // 24
if (CheckActorClass(0, "AlienSpectre5Model")) DivAmount *= 16; // 24
if (CheckActorClass(0, "EntityBossNew")) DivAmount *= 24; // 32
if (CheckActorClass(0, "EntitySecondNew")) DivAmount *= 24; // 32
if (CheckActorClass(0, "EntityAscended")) DivAmount *= 24; // 32
if (CheckActorClass(0, "DSMotherDemon64")) DivAmount *= 16;
if (CheckActorClass(0, "ThamuzNew")) DivAmount *= 24; // 32
if (CheckActorClass(0, "TchernobogNew")) DivAmount *= 24; // 32
if (CheckActorClass(0, "PennywiseBoss")) DivAmount *= 32; // 32
if (CheckActorClass(0, "TheSource")) DivAmount *= 32; // 128
if (CheckActorClass(0, "Magmantis")) DivAmount *= 64; // 32
if (CheckActorClass(0, "AdolfHitlerDS")) DivAmount *= 64; // 32
if (CheckActorClass(0, "Sauravatar")) DivAmount *= 96; // 128


if (DivAmount >= 1) SExPts = SExPts / DivAmount;
SExPts = SExPts + 16;

int Randomizer = random(1,256);
if (Randomizer == 1) SExPts = SExPts * 8;
if (Randomizer == 2) SExPts = SExPts * 4;
if (Randomizer == 3) SExPts = SExPts * 4;
if (Randomizer == 4) SExPts = SExPts * 2;
if (Randomizer == 5) SExPts = SExPts * 2;
if (Randomizer == 6) SExPts = SExPts * 2;
if (Randomizer == 7) SExPts = SExPts * 2;

// Higher Levels = slightly less chances to get all EXP
if (SceptreActualLevel > 15 && Randomizer == 241) SExPts = SExPts / 2;
if (SceptreActualLevel > 14 && Randomizer == 242) SExPts = SExPts / 2;
if (SceptreActualLevel > 13 && Randomizer == 243) SExPts = SExPts / 2;
if (SceptreActualLevel > 12 && Randomizer == 244) SExPts = SExPts / 2;
if (SceptreActualLevel > 11 && Randomizer == 245) SExPts = SExPts / 2;
if (SceptreActualLevel > 10 && Randomizer == 246) SExPts = SExPts / 2;
if (SceptreActualLevel > 9 && Randomizer == 247) SExPts = SExPts / 2;
if (SceptreActualLevel > 8 && Randomizer == 248) SExPts = SExPts / 2;
if (SceptreActualLevel > 7 && Randomizer == 249) SExPts = SExPts / 2;
if (SceptreActualLevel > 6 && Randomizer == 250) SExPts = SExPts / 2;
if (SceptreActualLevel > 5 && Randomizer == 251) SExPts = SExPts / 2;
if (SceptreActualLevel > 4 && Randomizer == 252) SExPts = SExPts / 2;
if (SceptreActualLevel > 3 && Randomizer == 253) SExPts = SExPts / 2;
if (SceptreActualLevel > 2 && Randomizer == 254) SExPts = SExPts / 2;
if (SceptreActualLevel > 1 && Randomizer == 255) SExPts = SExPts / 2;
if (SceptreActualLevel > 0 && Randomizer == 256) SExPts = SExPts / 2;

EXPBonus1 = 1000;
// Pearly Corset [+30%/+45% EXP Bonus]
if (CheckActorInventory(Player1TID,"PearlyCorset"))
{
if (random(1,100) <= 5) EXPBonus1 += 450; // 5% Chance of +45% EXP Bonus
else EXPBonus1 += 300; // Else +30% EXP Bonus
}
if (PowerupTimer[7] > 0) // Divine Avatar
{
if (random(1,100) <= 20) EXPBonus1 += 500; // 20% Chance of +50% EXP Bonus
else EXPBonus1 += 250; // Else +25% EXP Bonus
}

SExPts = SExPts * EXPBonus1 / 1000;
SExPts = SExPts * (DeftnessExpBase + MiscellaneousVars[33]) / DeftnessExpBase;
SExPts = SExPts * SceptreExpMultiplier / 100;

while (SExPts > 15)
{
SExPts -= 16;
SceptreLevelEXP += 1;
}
MiscellaneousVars[203] += SExPts;

while (MiscellaneousVars[203] > 15) // if (MiscellaneousVars[203] > 15)
{
MiscellaneousVars[203] -= 16;
SceptreLevelEXP += 1;
}
}
}
}

// script: Red Tunnel Vision/Heartbeat Effect when badly injured [HudMessage id 4]
script "TunnelVisionControl" ENTER
{
Expand Down

0 comments on commit c9a9295

Please sign in to comment.