Purpose: Dragon Fire Special! I was in a hurry to release it that it's not the "full" shield. Just the special
Difficulty: 2-3
Files Modified: Client.java
Procedure:
Open up client.java and find:
Code:
public class client extends Player implements Runnable {
Under it, add this:
Code:
public int FireSpecialDelay = 0;
public void SpecDamg(int maxDamage) {
for (Player p : server.playerHandler.players)
{
if(p != null)
{
if (PlayerHandler.players[AttackingOn].IsDead == false ) {
int damage = misc.random(maxDamage);
if (PlayerHandler.players[AttackingOn].playerLevel[3] - hitDiff < 0)
damage = PlayerHandler.players[AttackingOn].playerLevel[3];
PlayerHandler.players[AttackingOn].hitDiff = damage;
PlayerHandler.players[AttackingOn].updateRequired = true;
PlayerHandler.players[AttackingOn].hitUpdateRequired = true;
}
}
}
}
public void SpecDamgNPC(int maxDamage) {
if(server.npcHandler.npcs[attacknpc] != null)
{
if (server.npcHandler.npcs[attacknpc].IsDead == false) {
int damage = misc.random(maxDamage);
if (server.npcHandler.npcs[attacknpc].HP - hitDiff < 0)
damage = server.npcHandler.npcs[attacknpc].HP;
server.npcHandler.npcs[attacknpc].StartKilling = playerId;
server.npcHandler.npcs[attacknpc].RandomWalk = false;
server.npcHandler.npcs[attacknpc].IsUnderAttack = true;
server.npcHandler.npcs[attacknpc].hitDiff = damage;
server.npcHandler.npcs[attacknpc].updateRequired = true;
server.npcHandler.npcs[attacknpc].hitUpdateRequired = true;
}
}
}
public void FireSpecial()
{
if(IsAttackingNPC && playerEquipment[playerShield] == 1540)
{
int EnemyX = server.npcHandler.npcs[attacknpc].absX;
int EnemyY = server.npcHandler.npcs[attacknpc].absY;
int offsetX = (absX - EnemyX) * -1;
int offsetY = (absY - EnemyY) * -1;
teleportToX = absX;
teleportToY = absY;
txt4 = "Dragon Fire Shield SPECIAL! FIRE SHOT!";
string4UpdateRequired = true;
setAnimation(403);
createProjectile(absY, absX, offsetX, offsetY, 50, 80, 449, 43, 31, attacknpc+1);
SpecDamgNPC(35);
FireSpecialDelay = 240;
} else
if(IsAttacking && playerEquipment[playerShield] == 1540)
{
int X = PlayerHandler.players[AttackingOn].absX;
int Y = PlayerHandler.players[AttackingOn].absY;
int offsetX = (absX - X) * -1;
int offsetY = (absY - Y) * -1;
teleportToX = absX;
teleportToY = absY;
txt4 = "Dragon Fire Shield SPECIAL! FIRE SHOT!";
string4UpdateRequired = true;
startAnimation(403);
createProjectile(absY, absX, offsetX, offsetY, 50, 80, 449, 43, 31, 0 - AttackingOn);
SpecDamg(35);
FireSpecialDelay = 240;
}
}
After, find:
Code:
public boolean process()
Under it, add this:
Code:
if (playerEquipment[playerShield] == 1540) {
if (FireSpecialDelay == 0) {
if (IsAttackingNPC)
{
FireSpecial();
}
if (IsAttacking == true)
{
FireSpecial();
}
}
}
if(FireSpecialDelay > 0)
FireSpecialDelay -= 1;
Credits 80% Ferret, 20% forbidden for the SpecDamg voids.