Post: [PI] Spirit Shield Making
03-06-2015, 05:40 PM #1
Stunz
Former Staff
(adsbygoogle = window.adsbygoogle || []).push({});
Create these two classes
    
package org.estrania.rs2.model.player.content;


/**
* @author Seth Rogen
* Class Spirit Shield Creation
*/

public enum SpiritShields {

BLESSED_SPIRIT_SHIELD(13736, 13734, 13754, 1, 25),
ARCANE_SPIRIT_SHIELD(13738, 13736, 13746, 1, 25),
DIVINE_SPIRIT_SHIELD(13740/*COMPLETESHIELD*/, 13736/*BlessedShield*/, 13748/*Sigil*/, 1/*SmithingLevel*/, 25/*ExpGain*/),
ELYSIAN_SPIRIT_SHIELD(13742, 13736, 13750, 1, 25),
SPECTRAL_SPIRIT_SHIELD(13744, 13736, 13752, 1, 25);

private int SpiritShieldNeeded, SpiritShieldMake, SigilNeeded, levelReq, expGained;

private SpiritShields(int finishedshield, int unfinishedshield, int itemNeeded, int levelReq, int expGained) {
this.SpiritShieldNeeded = finishedshield;
this.SpiritShieldMake = unfinishedshield;
this.SigilNeeded = itemNeeded;
this.levelReq = levelReq;
this.expGained = expGained;
}

public int getFinishedShield(){
return SpiritShieldNeeded;
}

public int getUnfinishedShield() {
return SpiritShieldMake;
}
public int getItemNeeded() {
return SigilNeeded;
}

public int getLevelReq() {
return levelReq;
}

public int getExpGained() {
return expGained;
}

public static SpiritShields forId(int id) {
for(SpiritShields shield : SpiritShields.values()){
if (shield.getUnfinishedShield() == id) {
return shield;
}
}
return null;
}
}


    
package org.estrania.rs2.model.player.content;

import org.estrania.rs2.model.player.Client;


/**
* @author Seth Rogen
* Class Shield
*/
public class Shield {
public static boolean finishShield(final Client c, final int itemUsed, final int usedWith) {
final SpiritShields shield = SpiritShields.forId(itemUsed);
if (shield == null) {
return false;
}
if(itemUsed == shield.getUnfinishedShield() && usedWith == shield.getItemNeeded()) {
c.getItems().deleteItem(shield.getItemNeeded(), 1);
c.getItems().deleteItem(shield.getUnfinishedShield(), 1);
c.getItems().addItem(shield.getFinishedShield(), 1);
}
return false;
}
}



Place this code into your ItemOnItem Class

    
if (Shield.finishShield(c, itemUsed, useWith) || Shield.finishShield(c, useWith, itemUsed))
return;
(adsbygoogle = window.adsbygoogle || []).push({});

The following user thanked Stunz for this useful post:

KillManz G

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo