테스트

aion-server 4.8

Gitteol
최고관리자 · 1 · 💬 0 클론/새로받기
 4.8 61f661d · 1 commits 새로받기(Pull)
game-server/src/com/aionemu/gameserver/model/stats/container/TrapGameStats.java
package com.aionemu.gameserver.model.stats.container;

import com.aionemu.gameserver.model.gameobjects.Npc;
import com.aionemu.gameserver.model.stats.calc.Stat2;
import com.aionemu.gameserver.utils.stats.CalculationType;

/**
 * @author ATracer
 */
public class TrapGameStats extends NpcGameStats {

	public TrapGameStats(Npc owner) {
		super(owner);
	}

	@Override
	public Stat2 getStat(StatEnum statEnum, float base, CalculationType... calculationTypes) {
		Stat2 stat = super.getStat(statEnum, base, calculationTypes);
		if (owner.getMaster() == null)
			return stat;
		switch (statEnum) {
			case BOOST_MAGICAL_SKILL:
			case MAGICAL_ACCURACY:
				// bonus is calculated from stat bonus of master (only green value)
				stat.setBonusRate(0.7f); // TODO: retail formula?
				return owner.getMaster().getGameStats().getItemStatBoost(statEnum, stat);

		}
		return stat;
	}

	@Override
	public Stat2 getAttackRange() {
		int base = 5;
		String ownerName = owner.getName();
		if (ownerName.equals("destruction trap") || ownerName.equals("explosion trap") || ownerName.equals("sandstorm trap")
			|| ownerName.equals("skybound trap") || ownerName.equals("spike bite trap") || ownerName.equals("storm mine")
			|| ownerName.equals("scrapped mechanisms")) {
			base = 10;
		} else if (ownerName.equals("trap of clairvoyance")) {
			base = 30;
		} else if (ownerName.equals("propelling trap")) {
			base = 3;
		}
		return getStat(StatEnum.ATTACK_RANGE, base);
	}

	@Override
	public Stat2 getMAccuracy() {
		int value = 1000;
		switch (owner.getName()) {
			case "destruction trap":
				value = 1876;
				break;
			case "spike bite trap":
			case "explosion trap":
			case "spike trap":
			case "sleep trap":
			case "sandstorm trap":
			case "propelling trap":
			case "poisoning trap":
			case "trap of slowing":
			case "blazing trap":
			case "glue trap": //spike trap
			case "trap of dust": //sandstorm
			case "shock trap": //propelling trap
			case "trap of sleep":
			case "trap of burst":
			case "collision trap":
				value = 2361;
				break;
			case "storm mine":
			case "skybound trap":
			case "trap of vengeful spirit": //skybound trap
				value = 2406;
				break;
			case "trap of clairvoyance":
				value = 1050;
				break;
			case "snare trap":
			case "scrapped mechanisms":
				value = 2528;
				break;
		}
		return getStat(StatEnum.MAGICAL_ACCURACY, value);
	}
}

📎 첨부파일

댓글 작성 권한이 없습니다.
🏆 포인트 랭킹 TOP 10
순위 닉네임 포인트
1 no_profile 타키야겐지쪽지보내기 자기소개 아이디로 검색 전체게시물 102,949
2 no_profile 동가리쪽지보내기 자기소개 아이디로 검색 전체게시물 63,733
3 no_profile 라프텔쪽지보내기 자기소개 아이디로 검색 전체게시물 51,771
4 no_profile 불멸의행복쪽지보내기 자기소개 아이디로 검색 전체게시물 36,923
5 서번트쪽지보내기 자기소개 아이디로 검색 전체게시물 35,011
6 no_profile 닥터스쪽지보내기 자기소개 아이디로 검색 전체게시물 29,470
7 no_profile 검은고양이쪽지보내기 자기소개 아이디로 검색 전체게시물 29,077
8 no_profile Revolution쪽지보내기 자기소개 아이디로 검색 전체게시물 28,199
9 no_profile 보거스쪽지보내기 자기소개 아이디로 검색 전체게시물 26,731
10 no_profile 호롤롤로쪽지보내기 자기소개 아이디로 검색 전체게시물 17,020
알림 0