⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c_itemuse.java

📁 网络游戏天堂1的java源代码。。。。。
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		}

		if (pc.getCurrentHp() > 0) {
			int delay_id = 0;
			if (l1iteminstance.getItem().getType2() == 0) { // 種別:その他のアイテム
				delay_id = ((L1EtcItem) l1iteminstance.getItem()).get_delayid();
			}
			if (delay_id != 0) { // ディレイ設定あり
				if (pc.hasItemDelay(delay_id) == true) {
					return;
				}
			}

			// 再使用チェック
			boolean isDelayEffect = false;
			if (l1iteminstance.getItem().getType2() == 0) {
				int delayEffect = ((L1EtcItem) l1iteminstance.getItem())
						.get_delayEffect();
				if (delayEffect > 0) {
					isDelayEffect = true;
					Timestamp lastUsed = l1iteminstance.getLastUsed();
					if (lastUsed != null) {
						Calendar cal = Calendar.getInstance();
						if ((cal.getTimeInMillis() - lastUsed.getTime()) / 1000 <= delayEffect) {
							// \f1何も起きませんでした。
							pc.sendPackets(new S_ServerMessage(79));
							return;
						}
					}
				}
			}

			L1ItemInstance l1iteminstance1 = pc.getInventory().getItem(l);
			_log.finest("request item use (obj) = " + itemObjid + " action = "
					+ l + " value = " + s);
			if (itemId == 40077 || itemId == L1ItemId.SCROLL_OF_ENCHANT_WEAPON
					|| itemId == L1ItemId.SCROLL_OF_ENCHANT_QUEST_WEAPON
					|| itemId == 40130 || itemId == 140130
					|| itemId == L1ItemId.B_SCROLL_OF_ENCHANT_WEAPON
					|| itemId == L1ItemId.C_SCROLL_OF_ENCHANT_WEAPON
					|| itemId == 40128) {  // 武器強化スクロール
				if (l1iteminstance1 == null
						|| l1iteminstance1.getItem().getType2() != 1) {
					pc.sendPackets(new S_ServerMessage(79)); // \f1何も起きませんでした。
					return;
				}

				int safe_enchant = l1iteminstance1.getItem().get_safeenchant();
				if (safe_enchant < 0) { // 強化不可
					pc.sendPackets(new S_ServerMessage(79)); // \f1何も起きませんでした。
					return;
				}

				int quest_weapon = l1iteminstance1.getItem().getItemId();
				if (quest_weapon >= 246 && quest_weapon <= 249) { // 強化不可
					if (itemId == L1ItemId.SCROLL_OF_ENCHANT_QUEST_WEAPON) { // 試練のスクロール
					} else {
						pc.sendPackets(new S_ServerMessage(79)); // \f1何も起きませんでした。
						return;
					}
				}
				if (itemId == L1ItemId.SCROLL_OF_ENCHANT_QUEST_WEAPON) { // 試練のスクロール
					if (quest_weapon >= 246 && quest_weapon <= 249) { // 強化不可
					} else {
						pc.sendPackets(new S_ServerMessage(79)); // \f1何も起きませんでした。
						return;
					}
				}
				int weaponId = l1iteminstance1.getItem().getItemId();
				if (weaponId == 36 || weaponId == 183 || weaponId >= 250
						&& weaponId <= 255) { // イリュージョン武器
					if (itemId == 40128) { // イリュージョン武器強化スクロール
					} else {
						pc.sendPackets(new S_ServerMessage(79)); // \f1何も起きませんでした。
						return;
					}
				}
				if (itemId == 40128) { // イリュージョン武器強化スクロール
					if (weaponId == 36 || weaponId == 183 || weaponId >= 250
							&& weaponId <= 255) { // イリュージョン武器
					} else {
						pc.sendPackets(new S_ServerMessage(79)); // \f1何も起きませんでした。
						return;
					}
				}

				int enchant_level = l1iteminstance1.getEnchantLevel();

				if (itemId == L1ItemId.C_SCROLL_OF_ENCHANT_WEAPON) { // c-dai
					pc.getInventory().removeItem(l1iteminstance, 1);
					if (enchant_level < -6) {
						// -7以上はできない。
						FailureEnchant(pc, l1iteminstance1, client);
					} else {
						SuccessEnchant(pc, l1iteminstance1, client, -1);
					}
				} else if (enchant_level < safe_enchant) {
					pc.getInventory().removeItem(l1iteminstance, 1);
					SuccessEnchant(pc, l1iteminstance1, client, RandomELevel(
							l1iteminstance1, itemId));
				} else {
					pc.getInventory().removeItem(l1iteminstance, 1);

					int rnd = _random.nextInt(100) + 1;
					int enchant_chance_wepon;
					if (enchant_level >= 9) {
						enchant_chance_wepon = (100 + 3 * Config.ENCHANT_CHANCE_WEAPON) / 6;
					} else {
						enchant_chance_wepon = (100 + 3 * Config.ENCHANT_CHANCE_WEAPON) / 3;
					}

					if (rnd < enchant_chance_wepon) {
						int randomEnchantLevel = RandomELevel(l1iteminstance1,
								itemId);
						SuccessEnchant(pc, l1iteminstance1, client,
								randomEnchantLevel);
					} else if (enchant_level >= 9
							&& rnd < (enchant_chance_wepon * 2)) {
						// \f1%0が%2と強烈に%1光りましたが、幸い無事にすみました。
						pc.sendPackets(new S_ServerMessage(160, l1iteminstance1
								.getLogName(), "$245", "$248"));
					} else {
						FailureEnchant(pc, l1iteminstance1, client);
					}
				}
			//add 經驗加倍藥水
			} else if (itemId == 62006) { // 經驗加倍藥水(150%)
				if (pc.hasSkillEffect(7000) == false
						&& pc.hasSkillEffect(7001) == false
						&& pc.hasSkillEffect(7002) == false) { // 確認經驗加倍狀態
					int time = 3600 * 1000; // 設置時間為1小時
					pc.setSkillEffect(7000, time); // 增加魔法狀態7000
					pc.getInventory().removeItem(l1iteminstance, 1); // 移除物品
					pc.sendPackets(new S_SystemMessage(
						"受到經驗之神的祝福,狩獵後經驗提升1.5倍!"));
				}else{
					int time = pc.getSkillEffectTimeSec(7000)+
					pc.getSkillEffectTimeSec(7001)+
					pc.getSkillEffectTimeSec(7002);
					pc.sendPackets(new S_SystemMessage("經驗加倍藥水時間剩餘 "+time+" 秒"));
				}
			} else if (itemId == 62007) { // 經驗加倍藥水(200%)
				if (pc.hasSkillEffect(7000) == false
						&& pc.hasSkillEffect(7001) == false
						&& pc.hasSkillEffect(7002) == false) { // 確認經驗加倍狀態
					int time = 3600 * 1000; // 設置時間為1小時
					pc.setSkillEffect(7001, time); // 增加魔法狀態7001
					pc.getInventory().removeItem(l1iteminstance, 1); // 移除物品
					pc.sendPackets(new S_SystemMessage(
						"受到經驗之神的祝福,狩獵後經驗提升2.0倍!"));
				}else{
					int time = pc.getSkillEffectTimeSec(7000)+
					pc.getSkillEffectTimeSec(7001)+
					pc.getSkillEffectTimeSec(7002);
					pc.sendPackets(new S_SystemMessage("經驗加倍藥水時間剩餘 "+time+" 秒"));
				}
			} else if (itemId == 62008) { // 經驗加倍藥水(250%)
				if (pc.hasSkillEffect(7000) == false
						&& pc.hasSkillEffect(7001) == false
						&& pc.hasSkillEffect(7002) == false) { // 確認經驗加倍狀態
					int time = 3600 * 1000; // 設置時間為1小時
					pc.setSkillEffect(7002, time); // 增加魔法狀態7002
					pc.getInventory().removeItem(l1iteminstance, 1); // 移除物品
					pc.sendPackets(new S_SystemMessage(
						"受到經驗之神的祝福,狩獵後經驗提升2.5倍!"));
				}else{
					int time = pc.getSkillEffectTimeSec(7000)+
					pc.getSkillEffectTimeSec(7001)+
					pc.getSkillEffectTimeSec(7002);
					pc.sendPackets(new S_SystemMessage("經驗加倍藥水時間剩餘 "+time+" 秒"));
				}
			//end
			//屬性強化捲軸
			} else if (itemId >= 49144 && itemId <= 49147) {
				useAttrEnchantScroll(pc, l1iteminstance, l1iteminstance1);
			//~屬性強化捲軸
			}
			//HP貨幣和MP貨幣 by ccxiaonan 
			else if (itemId == 999989) { // HP+10 
			                      
				pc.addBaseMaxHp((byte) 10); // hp+10 
				pc.getInventory().removeItem(l1iteminstance, 1); 
				pc.sendPackets(new S_SystemMessage("你的HP值永久+10")); 
				try {
					// DBにキャラクター情報を書き込む
					pc.save();
				} catch (Exception e) {
					_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
				}
					pc.sendPackets(new S_OwnCharStatus(pc));                                
			} 
			else if (itemId == 999987) { // HP+75 
			                     
				pc.addBaseMaxHp((byte) 75); // hp+75 
				pc.getInventory().removeItem(l1iteminstance, 1); 
				pc.sendPackets(new S_SystemMessage("你的HP值永久+75")); 
				try {
					// DBにキャラクター情報を書き込む
					pc.save();
				} catch (Exception e) {
					_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
				}
				pc.sendPackets(new S_OwnCharStatus(pc));                 
			} 
			else if (itemId == 999988) { // MP+10 
			                     
				pc.addBaseMaxMp((byte) 10); // Mp+10 
				pc.getInventory().removeItem(l1iteminstance, 1); 
				pc.sendPackets(new S_SystemMessage("你的MP值永久+10")); 
				try {
					// DBにキャラクター情報を書き込む
					pc.save();
				} catch (Exception e) {
					_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
				}
				pc.sendPackets(new S_OwnCharStatus(pc));                 
			} 
			else if (itemId == 999986) { // MP+75 
			                 
				pc.addBaseMaxMp((byte) 75); // Mp+75 
				pc.getInventory().removeItem(l1iteminstance, 1); 
				pc.sendPackets(new S_SystemMessage("你的MP值永久+75")); 
				try {
					// DBにキャラクター情報を書き込む
					pc.save();
				} catch (Exception e) {
					_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
				}
				pc.sendPackets(new S_OwnCharStatus(pc));      
			} 
			//EDN by ccxiaonan
			//飾品強化卷軸
			 else if (itemId == 999991) {
				if (l1iteminstance1.getItem().getType2() != 2){
				pc.sendPackets(new S_ServerMessage(79));
                return;
                } else if (l1iteminstance1 != null
               	&&l1iteminstance1.getItem().getType() == 8
				||l1iteminstance1.getItem().getType() == 9
				||l1iteminstance1.getItem().getType() == 10
				||l1iteminstance1.getItem().getType() == 12){
				int chance = _random.nextInt(100) + 1;
				switch(l1iteminstance1.getEnchantLevel()) {
				case 0: case 1:case 2:case 3:case 4:case 6:case 7:case 8:case 9:
				if (chance < 25){
					l1iteminstance1.setaddHp(l1iteminstance1.getaddHp() + 2 );
					if(l1iteminstance1.isEquipped()){
						pc.addMaxHp(2);
						pc.addAc(1);
					}
				} else if (chance > 25 && chance < 50){
					l1iteminstance1.setaddMp(l1iteminstance1.getaddMp() + 1 );
					if(l1iteminstance1.isEquipped()){
						pc.addMaxMp(1);
						pc.addAc(1);
					}
				} else if ( chance > 50 && chance < 75){
					l1iteminstance1.setFireMr(l1iteminstance1.getFireMr() + 1 );
					l1iteminstance1.setWaterMr(l1iteminstance1.getWaterMr() + 1 );
					l1iteminstance1.setEarthMr(l1iteminstance1.getEarthMr() + 1 );
					l1iteminstance1.setWindMr(l1iteminstance1.getWindMr() + 1 );
					if(l1iteminstance1.isEquipped()){
						pc.addFire(1);
						pc.addWater(1);
						pc.addEarth(1);
						pc.addWind(1);
						pc.addAc(1);
					}
				} else {
				FailureEnchant(pc, l1iteminstance1, client);
				pc.getInventory().removeItem(l1iteminstance, 1);
				return;
				}
				break;
				case 5:
					if (chance < 25){
						l1iteminstance1.setaddHp(l1iteminstance1.getaddHp() + 2 );
						l1iteminstance1.setMpr(l1iteminstance1.getItem().get_addmpr() + 1 );
						if(l1iteminstance1.isEquipped()){
							pc.addMaxHp(2);
							pc.addAc(1);
						}
					} else if (chance > 25 && chance < 50){
						l1iteminstance1.setaddMp(l1iteminstance1.getaddMp() + 1 );
						l1iteminstance1.setaddSp(l1iteminstance1.getItem().get_addsp( )+ 1 );
						if(l1iteminstance1.isEquipped()){
							pc.addMaxMp(1);
							pc.addAc(1);
						}
					} else if ( chance > 50 && chance < 75){
						l1iteminstance1.setFireMr(l1iteminstance1.getFireMr() + 1 );
						l1iteminstance1.setWaterMr(l1iteminstance1.getWaterMr() + 1 );
						l1iteminstance1.setEarthMr(l1iteminstance1.getEarthMr() + 1 );
						l1iteminstance1.setWindMr(l1iteminstance1.getWindMr() + 1 );
						l1iteminstance1.setMpr(l1iteminstance1.getMpr() + 1 );
						l1iteminstance1.setHpr(l1iteminstance1.getHpr() + 1 );
						if(l1iteminstance1.isEquipped()){
						pc.addFire(1);
						pc.addWater(1);
						pc.addEarth(1);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -