public EpicOption EpicFactory(int _nIndex)
    {
        EpicOption resultOption = null;

        switch (_nIndex)
        {
        case (int)E_EPIC_INDEX.E_EPIC_MAGIC:                    resultOption = new MagicStick(); break;

        case (int)E_EPIC_INDEX.E_EPIC_KO_HAMMER:                resultOption = new KoHammer(); break;

        case (int)E_EPIC_INDEX.E_EPIC_GOLD_HAMMER:              resultOption = new GoldHammer(); break;

        case (int)E_EPIC_INDEX.E_EPIC_FREEZING_TUNA:    resultOption = new FreezingTuna(); break;

        case (int)E_EPIC_INDEX.E_EPIC_RUBBER_CHICKEN:   resultOption = new RubberChicken(); break;

        case (int)E_EPIC_INDEX.E_EPIC_ENGINE_HAMMER:    resultOption = new EngineHammer(); break;

        case (int)E_EPIC_INDEX.E_EPIC_ICEPUNCH:                 resultOption = new IcePunch(); break;

        case (int)E_EPIC_INDEX.E_EPIC_GOBLIN_HAMMER:    resultOption = new GoblinHammer(); break;

        case (int)E_EPIC_INDEX.E_EPIC_SLEDE_HAMMER:             resultOption = new SledeHammer(); break;

        default:
            break;
        }

        return(resultOption);
    }
Exemple #2
0
        public COutPacket ItemUpgradeResult(GoldHammer nReturnResult, GoldHammer nResult)
        {
            // CUIItemUpgrade::OnItemUpgradeResult
            var p = new COutPacket(SendOps.LP_ItemUpgradeResult);

            //v2->m_nReturnResult = CInPacket::Decode1(iPacket);
            p.Encode1((byte)nReturnResult);
            p.Encode4((int)nResult);
            if (nResult == GoldHammer.ReturnResult_ItemUpgradeSuccess)
            {
                p.Encode4(HammerUpgradeCount);                 // upgrades left
            }

            // (0x41 && 0x0) -> show upgrade message
            // (0x3D && 0x0) -> finishe process

            return(p);
        }