외부입력하는 방법 알려주세요
마루
//만든이; 단군의마늘(DahnGoon) -version 1.5.6
public class MaxStats {
public static void main(String args[]) {
String characterClasses=barbarian; // barbarian, pladin, amazon, druid, assassin, necromancer, sorcress 중택1 (수정)
int characterLevel= 96; //케릭터레벨 입니다 (수정)
int targetsLevel = 96; // assume Level Of Attatter == Level Of Deffenser (characterLevel 같게 설정)
int strenth=60; // 순수찍은 힘스텟입니다. (수정)
int dextority=62; // 순수찍은 민첩스텟입니다. (수정)
int vitality=368; // 순수찍은 생명스텟입니다. (수정)
int energy=0; // 순수찍은 에너지스텟입니다. (수정)
int itemsStrenth=142; // 아이템으로 올라가는 힘스텟, 예)수수,슬가,애니,횃불 (수정)
int itemsDextority=122; //아이템으로 올라가는 민첩스텟, 예) 레이븐링,슬가,애니,횃불 (수정)
int itemsVitality=106; //아이템으로 올라가는 생명스텟, 예)미스릴,애니,횃불 바이탈이랑,라이프랑 다른겁니다 (수정)
int itemsEnergy=67; //아이템으로 올라가는 에너지스텟, 에너지랑,마나랑 다른겁니다 (미적용)
int classBasicStrenth; // 수정안함
int classBasicDextority; // 수정안함
int classBasicVitality; // 수정안함
int classBasicEnergy; // 수정안함
int fixStrenth=strenth; // 최소힘고정 수정안함
int totalQuestsStats =15; // 엑트3 스탯올려주는 퀘스트, 노멀,헬,나이트 5씩 입니다. 한만큼만 입력(수정)
int availableStats = (characterLevel-1)*5+totalQuestsStats; //수정안함
int totalStats=strenth+dextority+vitality+energy; //수정안함
int classAttackBonus; //수정안함
int classVitalityBonus; //수정안함
double classLifeLevelBonus; //수정안함
int classBasicLife; //수정안함,
int totalQuestsLife=60; // 엑트3 체력올려주는퀘스트, 노멀20,나이트20,헬20 한만큼 입력 (수정)
double classEnergyBonus; //수정안함
double classManaLevelBonus; //수정안함
int classBasicMana; //수정안함,
double totalLife; //수정안함 최종체력
double totalMana; //수정안함, 미적용
int pysicalDamageReduced = 20; // 물리데미지 감소입니다 예)발록스킨 (수정)
int damageReducePercent = 23; //데미지리듀스% 예) 수수8%+모넉35%+미스릴15% 최대50% 넘을수없어여 (수정)
double attackRating; //수정암함
double deffense; //수정안함
double deffenseRating; //수정안함
double chanceToHit; //수정안함
double blockRating; // 수정안함
int shieldBlockPercent = 67; //방패에 표시된 블럭률 예) 모넉은 바바일때 67 (수정)
int skillBlockPercent = 0; //스킬로증가되는 블럭% 예)홀쉴 (수정)
double attackScore; //수정안함
double deffenseScore; //수정안함
double gearScore; //수정안함
double times=1; //수정안함
double attackFrames; //수정안함
double hits=1; //수정안함
double totalDamage; //수정안함, 물리데미지+마법데미지
double pysicalDamage; //수정안함 물리데미지
double magicalDamage; //수정안함, 마법데미지 미적용
int weaponBasedSpeed=5; // 무기기본 시작공속 예)패이즈 -30, 콜블 5 등등
int itemsIncreaseSpeed=60; // 아이템으로 증가하는 공속 예)무기+장갑+뚜껑+아뮬 등등
int skillSpeedPercent=30; //오직 스킬로 올라가는 공속 예)파낙 (수정) 휠윈드공속맞추려고 30넣은거예요
int skillModifier=3; // 스킬모디피파이라해서 정확한 정보는 가지고 있지않아요, 질이=6, 스마이스=11, 일반공격류14( 예)버서크같은거 ), 네크로 16...등등 (수정) ,휠윈드는 다른것적용받아요 3~7대입해서 원하는 프레임나올때까지 (수정)
int weaponBasicMinDamage=37; // 무기의 흰색아이템기준 최소데미지 예) 노멀,매직,레어,유닉,룬워드 상관없이 기본값이 있습니다. 에테일때 1.5 배해주세요 (수정)
int weaponBasicMaxDamage=97; //무기의 흰색아이템기준 최대데미지 예) 노멀,매직,레어,유닉,룬워드 상관없이 기본값이 있습니다. 에테일때 1.5 배해주세요 (수정)
double weaponMinDamage; // 수정안함
double weaponMaxDamage; // 수정암함
int weaponDamagePercent=413; // 무기에 표시된 증뎀% 무기두개차도 자기무기에만 영향이있어요 더하지마세요 totalDamagePercent - itemDamagePercent (수정)
int itemsMinDamage=10; //민뎀 예)주얼,참,반지등등 추뎀도 여기에 넣으세요 (추뎀은 민뎀,맥뎀, 각각 두번 넣으셔야 됩니다) (수정)
int itemsMaxDamage=50; //맥뎀 예)주얼,참,반지등등 추뎀도 여기에넣으세요 (추뎀은 민뎀,맥뎀 각각 두번넣으셔야 됩니다) (수정)
int itemDamagePercent=250; // totalDamagePercnet - weaponDamagePercent (수정)
int skillDamagePercent=350; //스킬로증가되는 데미지% 예)파낙,컨센,마스터리 등등
int hierlingDamagePercent=0; //마이트용병으로 증가하는 데미지% 혹은 자존심,신뢰등도 포함 (용병적용 확인하고 싶으시면 넣으세요)
int itemsDeffense=3500; //아이템의 총방어 예)머리200+갑옵2000+방패500+장갑,벨트,신발+참 (수정)
int itemsDeffensePercent=0; // 아이템으로 증가하는 방어% 예)모르겠음 (있으면수정)
int skillDeffensePercent=350; // 스킬로증가하는 방어% 예)홀쉴,곰변신,아이런스킨 등등
int hierlingDeffensePercent=0; // 디파이언스용병으로 증가하는 방어% (용병적용 확인하고 싶으면 넣으세요)
int itemsAttackRating=1000; //아이템으로 증가하는 어레 예)엔젤링,참 (수정)
int itemsAttackRatePercent=5; // 아이템으로 증가하는 어레% 예)반지,아뮬등의 5%어레증가 (수정)
int skillAttackRatePercent=160; // 스킬로 증가하는 어레% 예) 스워드마스터리 (수정)
int hierlingAttackRatePercent=0; //블레시드에임용병으로 증가하는 어레% (용병적용 확인하고 싶으면 넣으세요)
int itemsLife=100; //아이템으로 증가하는 라이프 예)참,인내등등 (미스릴벨트,발록스킨,횃불,애니는 아닙니다) (수정)
int itemsLifePercent=5; //아이템으로 증가하는 라이프% 예)수수의5% (수정)
int skillLifePercent=150; //스킬로 증가하는 라이프% 예)오더,곰변신 등등 (수정)
int itemsMana=5; //아이템으로 증가하는 라이프 예)참,인내등등 (미스릴벨트,발록스킨,횃불,애니는 아닙니다) (수정)
int itemsManaPercent=5; //아이템으로 증가하는 라이프% 예)수수의5% (수정)
int skillManaPercent=150; //스킬로 증가하는 라이프% 예)오더,곰변신 등등 (수정)
int openWoundsPercent=15; //상처악화% (수정)
int deadlyStrikePercent=15; //데들리스트라이크% (수정)
int criticalStrikePercent=31; //크리티컬% (수정)
int crushingBlowPercent=15; //강타% (수정
double ddcPercent; //수정안함
double maxGearScore=1; //수정안함
double maxAttackScore=1; //수정안함
double maxDeffenseScore=1; //수정안함
int str=0; //수정안함
int dex=0; //수정안함
int vit=0; //수정암함
int eng=0; //수정암함
Diablo myCharacter_1 = new Diablo();
//Diablo myCharacter_2 = new Diablo();
//Diablo myCharacter_3 = new Diablo();
//Diablo myCharacter_4 = new Diablo();
//Diablo myCharacter_5 = new Diablo();
//Diablo myCharacter_6 = new Diablo();
//Diablo myCharacter_7 = new Diablo();
//Diablo myCharacter_8 = new Diablo();
classAttackBonus = myCharacter_1.ClassAttackBonus(characterClasses);
classBasicStrenth = myCharacter_1.ClassBasicStrenth(characterClasses);
classBasicDextority = myCharacter_1.ClassBasicDextority(characterClasses);
classBasicVitality = myCharacter_1.ClassBasicVitality(characterClasses);
classBasicEnergy = myCharacter_1.ClassBasicEnergy(characterClasses);&nbsbsp;
classVitalityBonus = myCharacter_1.ClassVitalityBonus(characterClasses);
classLifeLevelBonus = myCharacter_1.ClassLifeLevelBonus(characterClasses);
classBasicLife = myCharacter_1.ClassBasicLife(characterClasses);
classEnergyBonus = myCharacter_1.ClassEnergyBonus(characterClasses);
classManaLevelBonus = myCharacter_1.ClassManaLevelBonus(characterClasses);
classBasicMana = myCharacter_1.ClassBasicMana(characterClasses);
weaponMinDamage = myCharacter_1.WeaponMinDamage(weaponBasicMinDamage, weaponDamagePercent);
weaponMaxDamage = myCharacter_1.WeaponMaxDamage(weaponBasicMaxDamage, weaponDamagePercent);
pysicalDamage = myCharacter_1.PysicalDamage(weaponMinDamage, weaponMaxDamage, itemsMinDamage ,itemsMaxDamage ,strenth , itemsStrenth, classBasicStrenth, skillDamagePercent , hierlingDamagePercent);
blockRating = myCharacter_1.BlockRating(shieldBlockPercent, skillBlockPercent, dextority, itemsDextority, classBasicDextority, characterLevel);
attackRating = myCharacter_1.AttackRating(dextority, itemsDextority,classBasicDextority, classAttackBonus, itemsAttackRating,itemsAttackRatePercent, skillAttackRatePercent, hierlingAttackRatePercent);
deffenseRating = myCharacter_1.DeffenseRating(dextority, itemsDextority, classBasicDextority);
deffense = myCharacter_1.Deffense(itemsDeffense, itemsDeffensePercent, skillDeffensePercent ,hierlingDeffensePercent, deffenseRating);
chanceToHit = myCharacter_1.ChanceToHit(attackRating, deffense, characterLevel, classAttackBonus, targetsLevel);
totalLife = myCharacter_1.TotalLife(classBasicLife, totalQuestsLife ,itemsLife, vitality, classVitalityBonus, characterLevel, classLifeLevelBonus, itemsLifePercent, skillLifePercent, itemsVitality);
totalMana = myCharacter_1.TotalMana(classBasicMana ,itemsMana, energy, classEnergyBonus, characterLevel, classManaLevelBonus, itemsManaPercent, skillManaPercent, itemsEnergy);
attackFrames = myCharacter_1.AttackFrames(skillModifier, itemsIncreaseSpeed, weaponBasedSpeed, skillSpeedPercent);
ddcPercent = myCharacter_1.DdcPercent(criticalStrikePercent, deadlyStrikePercent);
attackScore = myCharacter_1.AttackScore(pysicalDamage, ddcPercent, attackFrames);
deffenseScore = myCharacter_1.DeffenseScore(totalLife,damageReducePercent, chanceToHit, blockRating, pysicalDamageReduced);
gearScore = myCharacter_1.GearScore(attackScore, deffenseScore);
times = myCharacter_1.TotalTimes(attackScore, deffenseScore);
hits = myCharacter_1.TotalHits(attackScore, deffenseScore, attackFrames);
System.out.println( [pysicalDamage] [ + pysicalDamage +]);
System.out.println( [attackRating] [ + attackRating +]);
System.out.println( [deffense] [ + deffense + ]);
System.out.println( [blockRating] [ + blockRating +]);
System.out.println( [chanceToHit] [ + chanceToHit +]);
System.out.println( [totalLife] [ + totalLife +]);
System.out.println( [totalMana] [ + totalMana +]);
System.out.println( [attackFrames] [ + attackFrames +]);
System.out.println( [TotalTimes] [ + times +]);
System.out.println( [TotalHits] [ + hits +]);
System.out.println( [strenth, dextority, vitality][+ strenth + , + dextority +, + vitality + ]);
System.out.println( [attackScore, deffenseScore, gearScore][ + attackScore +, + deffenseScore +, + gearScore + ]);
for (strenth = fixStrenth ; strenth = availableStats; strenth++) {
for (dextority = 0; dextority = availableStats; dextority++) {
for(vitality = 0; vitality = availableStats; vitality++) {
if ( strenth+dextority+vitality+energy == availableStats ){
pysicalDamage = myCharacter_1.PysicalDamage(weaponMinDamage, weaponMaxDamage, itemsMinDamage ,itemsMaxDamage ,strenth , itemsStrenth, classBasicStrenth, skillDamagePercent , hierlingDamagePercent);
blockRating = myCharacter_1.BlockRating(shieldBlockPercent, skillBlockPercent, dextority, itemsDextority, classBasicDextority, characterLevel);
attackRating = myCharacter_1.AttackRating(dextority, itemsDextority,classBasicDextority, classAttackBonus, itemsAttackRating,itemsAttackRatePercent, skillAttackRatePercent, hierlingAttackRatePercent);
deffenseRating = myCharacter_1.DeffenseRating(dextority, itemsDextority, classBasicDextority);
deffense = myCharacter_1.Deffense(itemsDeffense, itemsDeffensePercent, skillDeffensePercent ,hierlingDeffensePercent, deffenseRating);
chanceToHit = myCharacter_1.ChanceToHit(attackRating, deffense, characterLevel, classAttackBonus, targetsLevel);
totalLife = myCharacter_1.TotalLife(classBasicLife, totalQuestsLife ,itemsLife, vitality, classVitalityBonus, characterLevel, classLifeLevelBonus, itemsLifePercent, skillLifePercent, itemsVitality);
totalMana = myCharacter_1.TotalMana(classBasicMana ,itemsMana, energy, classEnergyBonus, characterLevel, classManaLevelBonus, itemsManaPercent, skillManaPercent, itemsEnergy);
attackScore = myCharacter_1.AttackScore(pysicalDamage, ddcPercent, attackFrames);
deffenseScore = myCharacter_1.DeffenseScore(totalLife,damageReducePercent, chanceToHit, blockRating, pysicalDamageReduced);
gearScore = myCharacter_1.GearScore(attackScore, deffenseScore);
times = myCharacter_1.TotalTimes(attackScore, deffenseScore);
hits = myCharacter_1.TotalHits(attackScore, deffenseScore, attackFrames);
//System.out.print([strenth, dextority, vitality][+fixStrenth+ , + dextority +, + vitality+]);
//System.out.println( = [attackScore, deffenseScore, GearScore][ + attackScore +, + deffenseScore +, + gearScore+]);
if ( maxGearScore gearScore ){
maxGearScore = (int)gearScore;
maxAttackScore = (int)attackScore;
maxDeffenseScore = (int)deffenseScore;
str = strenth;
dex = dextority;
vit = vitality;
eng = energy;
}
}
}
}
}
pysicalDamage = myCharacter_1.PysicalDamage(weaponMinDamage, weaponMaxDamage, itemsMinDamage ,itemsMaxDamage ,str , itemsStrenth, classBasicStrenth, skillDamagePercent , hierlingDamagePercent);
blockRating = myCharacter_1.BlockRating(shieldBlockPercent, skillBlockPercent, dex, itemsDextority, classBasicDextority, characterLevel);
attackRating = myCharacter_1.AttackRating(dex, itemsDextority,classBasicDextority, classAttackBonus, itemsAttackRating,itemsAttackRatePercent, skillAttackRatePercent, hierlingAttackRatePercent);
deffenseRating = myCharacter_1.DeffenseRating(dex, itemsDextority, classBasicDextority);
deffense = myCharacter_1.Deffense(itemsDeffense, itemsDeffensePercent, skillDeffensePercent ,hierlingDeffensePercent, deffenseRating);
chanceToHit = myCharacter_1.ChanceToHit(attackRating, deffense, characterLevel, classAttackBonus, targetsLevel);
totalLife = myCharacter_1.TotalLife(classBasicLife, totalQuestsLife ,itemsLife, vit, classVitalityBonus, chanus, characterLevel, classLifeLevelBonus, itemsLifePercent, skillLifePercent, itemsVitality);
totalMana = myCharacter_1.TotalMana(classBasicMana ,itemsMana, eng, classEnergyBonus, characterLevel, classManaLevelBonus, itemsManaPercent, skillManaPercent, itemsEnergy);
attackScore = myCharacter_1.AttackScore(pysicalDamage, ddcPercent, attackFrames);
deffenseScore = myCharacter_1.DeffenseScore(totalLife,damageReducePercent, chanceToHit, blockRating, pysicalDamageReduced);
gearScore = myCharacter_1.GearScore(attackScore, deffenseScore);
times = myCharacter_1.TotalTimes(attackScore, deffenseScore);
hits = myCharacter_1.TotalHits(attackScore, deffenseScore, attackFrames);
System.out.println( ↑↑↑↑↑↑↑↑↑↑↑↑ 위의 스탯을 ↑↑↑↑↑↑↑↑↑↑↑↑);
System.out.println( ↓↓↓ 아래의 스탯으로 보정하시면 좋습니다.↓↓↓);
System.out.println( [pysicalDamage] [ + pysicalDamage +]);
System.out.println( [attackRating] [ + attackRating +]);
System.out.println( [deffense] [ + deffense + ]);
System.out.println( [blockRating] [ + blockRating +]);
System.out.println( [chanceToHit] [ + chanceToHit +]);
System.out.println( [totalLife] [ + totalLife +]);
System.out.println( [totalMana] [ + totalMana +]);
System.out.println( [attackFrames] [ + attackFrames +]);
System.out.println( [TotalTimes] [ + times +]);
System.out.println( [TotalHits] [ + hits +]);
System.out.println( [strenth, dextority, vitality][+ str + , + dex +, + vit + ]);
System.out.println( [maxAttackScore, maxDeffenseScore, maxGearScore][ + maxAttackScore +, + maxDeffenseScore +, + maxGearScore + ]);
} // Object Main End ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
} // Class MaxStats End------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------class Diablo {
public int ClassBasicStrenth(String characterClasses) {
int classBasicStrenth;
if (characterClasses == barbarian) classBasicStrenth = 30;
else if (characterClasses == paladin) classBasicStrenth = 25 ;
else if (characterClasses == amazon) classBasicStrenth = 20;
else if (characterClasses == druid) classBasicStrenth =15 ;
else if (characterClasses == assassin ) classBasicStrenth = 20;
else if (characterClasses == necromancer) classBasicStrenth = 15;
else if (characterClasses == sorceress) classBasicStrenth = 10;
else classBasicStrenth=10;
return classBasicStrenth;
} // Object ClassBasicStrenth End------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public int ClassBasicDextority(String characterClasses) {
int classBasicDextority;
if (characterClasses == barbarian) classBasicDextority = 20 ;
else if (characterClasses == paladin) classBasicDextority = 20;
else if (characterClasses == amazon) classBasicDextority = 25;
else if (characterClasses == druid) classBasicDextority = 20;
else if (characterClasses == assassin ) classBasicDextority = 20;
else if (characterClasses == necromancer) classBasicDextority = 25;
else if (characterClasses == sorceress) classBasicDextority = 25;
else classBasicDextority=20;
return classBasicDextority;
} // Object ClassBasicDextority End------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public int ClassBasicVitality(String characterClasses) {
int classBasicVitality;
if (characterClasses == barbarian) classBasicVitality = 25;
else if (characterClasses == paladin) classBasicVitality = 25;
else if (characterClasses == amazon) classBasicVitality = 20;
else if (characterClasses == druid) classBasicVitality = 25;
else if (characterClasses == assassin ) classBasicVitality = 20;
else if (characterClasses == necromancer) classBasicVitality = 15;
else if (characterClasses == sorceress) classBasicVitality = 10;
else classBasicVitality=10;
return classBasicVitality;
} // Object ClassBasicVitality End------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public int ClassBasicEnergy(String characterClasses) {
int classBasicEnergy;
if (characterClasses == barbarian) classBasicEnergy = 10;
else if (characterClasses == paladin) classBasicEnergy = 15;
else if (characterClasses == amazon) classBasicEnergy = 15;
else if (characterClasses == druid) classBasicEnergy = 20;
else if (characterClasses == assassin ) classBasicEnergy = 25;
else if (characterClasses == necromancer) classBasicEnergy = 25;
else if (characterClasses == sorceress) classBasicEnergy = 35;
else classBasicEnergy=10;
return classBasicEnergy;
} // Object ClassBasicEnergy End------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public int ClassAttackBonus(String characterClasses) {
int classAttackBonus;
if (characterClasses == barbarian) classAttackBonus = 20;
else if (characterClasses == paladin) classAttackBonus = 20;
else if (characterClasses == amazon) classAttackBonus = 5;
else if (characterClasses == druid) classAttackBonus = 5;
else if (characterClasses == assassin ) classAttackBonus = 15;
else if (characterClasses == necromancer) classAttackBonus = -10;
else if (characterClasses == sorceress) classAttackBonus = -15;
else classAttackBonus=1;
return classAttackBonus;ckBonus;
} // Object ClassAttackBonus End------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public int ClassVitalityBonus(String characterClasses) {
int classVitalityBonus;
if (characterClasses == barbarian) classVitalityBonus = 4;
else if (characterClasses == paladin) classVitalityBonus = 3;
else if (characterClasses == amazon) classVitalityBonus = 3;
else if (characterClasses == druid) classVitalityBonus = 3;
else if (characterClasses == assassin ) classVitalityBonus = 3;
else if (characterClasses == necromancer) classVitalityBonus = 2;
else if (characterClasses == sorceress) classVitalityBonus = 2;
else classVitalityBonus = 1;
return classVitalityBonus;
} // Object classVitalityBonus End------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double ClassLifeLevelBonus(String characterClasses) {
double classLifeLevelBonus;
if (characterClasses == barbarian) classLifeLevelBonus=2;
else if (characterClasses == paladin) classLifeLevelBonus=2;
else if (characterClasses == amazon) classLifeLevelBonus=1;
else if (characterClasses == druid) classLifeLevelBonus=1.5;
else if (characterClasses == assassin ) classLifeLevelBonus=1;
else if (characterClasses == necromancer) classLifeLevelBonus=1.5;
else if (characterClasses == sorceress) classLifeLevelBonus=1;
else classLifeLevelBonus=1;
return classLifeLevelBonus;
} // Object classLifeLevelBonus End-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
public int ClassBasicLife(String characterClasses) {
int classBasicLife;
if (characterClasses == barbarian) classBasicLife=55;
else if (characterClasses == paladin) classBasicLife=55;
else if (characterClasses == amazon) classBasicLife=50;
else if (characterClasses == druid) classBasicLife=55;
else if (characterClasses == assassin ) classBasicLife=50;
else if (characterClasses == necromancer) classBasicLife=45;
else if (characterClasses == sorceress) classBasicLife=40;
else classBasicLife=40;
return classBasicLife;
} // Object ClassBasicLife End----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double ClassManaLevelBonus(String characterClasses) {
double classManaLevelBonus;
if (characterClasses == barbarian) classManaLevelBonus=1;
else if (characterClasses == paladin) classManaLevelBonus=1.5;
else if (characterClasses == amazon) classManaLevelBonus=1.5;
else if (characterClasses == druid) classManaLevelBonus=2;
else if (characterClasses == assassin ) classManaLevelBonus=1;
else if (characterClasses == necromancer) classManaLevelBonus=2;
else if (characterClasses == sorceress) classManaLevelBonus=2;
else classManaLevelBonus=1;
return classManaLevelBonus;
} // Object classManaLevelBonus End-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double ClassEnergyBonus(String characterClasses) {
double classEnergyBonus;
if (characterClasses == barbarian) classEnergyBonus = 1;
else if (characterClasses == paladin) classEnergyBonus = 1.5;
else if (characterClasses == amazon) classEnergyBonus = 1.5;
else if (characterClasses == druid) classEnergyBonus = 2;
else if (characterClasses == assassin ) classEnergyBonus = 1.75;
else if (characterClasses == necromancer) classEnergyBonus = 2;
else if (characterClasses == sorceress) classEnergyBonus = 2;
else classEnergyBonus = 1;
return classEnergyBonus;
} // Object classEnergyBonus End------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public int ClassBasicMana(String characterClasses) {
int classBasicMana;
if (characterClasses == barbarian) classBasicMana=10;
else if (characterClasses == paladin) classBasicMana=15;
else if (characterClasses == amazon) classBasicMana=15;
else if (characterClasses == druid) classBasicMana=20;
else if (characterClasses == assassin ) classBasicMana=25;
else if (characterClasses == necromancer) classBasicMana=25;
else if (characterClasses == sorceress) classBasicMana=30;
else classBasicMana=10;
return classBasicMana;
} // Object classBasicMana End------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double WeaponMinDamage (int weaponBasicMinDamage, int weaponDamagePercent) {
double weaponMinDamage;
weaponMinDamage = weaponBasicMinDamage*(100+weaponDamagePercent)/100;
return (int)weaponMinDamage;
} // Object WeaponMinDamage End-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double WeaponMaxDamage(int weaponBasicMaxDamage, int weaponDamagePercent) {
double weaponMaxDamage;
weaponMaxDamage = weaponBasicMaxDamage*(100+weaponDamagePercent)/100;
return (int)weaponMaxDamage;
} // Object WeaponMaxDamage End-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double PysicalDamage(double weaponMinDamage, double weaponMaxDamage, int itemsMinDamage, int itemsMaxDamage, int strenth, int itemsStrenth, int classBasicStrenth, int skillDamagePercent, int hierlingDamagePercent) {
double pysicalDamage;
pysicalDamage = (weaponMinDamage+weaponMaxDamage+itemsMinDamage+itemsMaxDamage)*(100+ strenth + itemsStrenth + classBasicStrenth + skillDamagePercent + hierlingDamagePercent)/200 ;
return (int)pysicalDamage;
} // Object PysicalDamage End----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double BlockRating(int shieldBlockPercent, int skillBlockPercent, int dextority, int itemsDextority, int classBasicDextority, int characterLevel) {
double blockRating;
blockRating = (shieldBlockPercent+skillBlockPercent)*(dextority + itemsDextority + classBasicDextority -15)/(characterLevel*2);
if (blockRating ing 75)blockRating = 75;
else if (blockRating 5) blockRating= 5;
else blockRating = (int)blockRating;
return blockRating;
} // Object BlockRating End-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double AttackRating(int dextority, int itemsDextority, int classBasicDextority, int classAttackBonus, int itemsAttackRating, int itemsAttackRatePercent, int skillAttackRatePercent, int hierlingAttackRatePercent) {
double attackRating;
attackRating= ((dextority+itemsDextority+classBasicDextority)*5-35+classAttackBonus+ itemsAttackRating)*(100 + itemsAttackRatePercent + skillAttackRatePercent + hierlingAttackRatePercent)/100;
return (int)attackRating;
} // Object AttackRating End------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double DeffenseRating(int dextority,int itemsDextority, int classBasicDextority) {
double deffenseRating;
deffenseRating = (dextority+itemsDextority+classBasicDextority)/4; //totalDextority does not effect to the deffecnseRating but dextority
return (int)deffenseRating;
} // Object DeffenseRating End----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double Deffense(int itemsDeffense, int itemsDeffensePercent, int skillDeffensePercent, int hierlingDeffensePercent, double deffenseRating) {
double deffense;
deffense = (itemsDeffense)*(100+itemsDeffensePercent + skillDeffensePercent+hierlingDeffensePercent)/100+deffenseRating;
return (int)deffense;
} // Object Deffense End----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double ChanceToHit(double attackRating, double deffense, int characterLevel, int classAttackBonus, int targetsLevel ) {
double chanceToHit;
chanceToHit = 100*attackRating/(attackRating+deffense)*2*(characterLevel+classAttackBonus)/(characterLevel+classAttackBonus+targetsLevel );
if (chanceToHit 95) chanceToHit = 95;
else if (chanceToHit 5) chanceToHit = 5;
else chanceToHit= (int)chanceToHit;
return chanceToHit;
} // Object ChanceToHit End------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double TotalLife(int classBasicLife, int totalQuestsLife, int itemsLife, int vitality, int classVitalityBonus, int characterLevel, double classLifeLevelBonus, int itemsLifePercent, int skillLifePercent, int itemsVitality) {
double totalLife;
totalLife = (classBasicLife+totalQuestsLife+itemsLife+vitality*classVitalityBonus+(characterLevel-1)*classLifeLevelBonus)*(100+ itemsLifePercent + skillLifePercent)/100 + itemsVitality*classVitalityBonus;
// itemsVitality is not effected by bonusPercent
return (int)totalLife;
} // Object TotalLife End----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double TotalMana(int classBasicMana, int itemsMana, int energy, double classEnergyBonus, int characterLevel, double classManaLevelBonus, int itemsManaPercent, int skillManaPercent, int itemsEnergy) {
double totalMana;
totalMana = (classBasicMana+itemsMana+energy*classEnergyBonus+(characterLevel-1)*classManaLevelBonus)*(100+ itemsManaPercent + skillManaPercent)/100 + itemsEnergy*classEnergyBonus;
// itemsEnergy is not effected by bonusPercent
return (int)totalMana;
} // Object TotalMana End----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double AttackFrames(int skillModifier, int itemsIncreaseSpeed, int weaponBasedSpeed, int skillSpeedPercent) {
double attackFrames;
attackFrames = 256*(1+skillModifier)/((100+(itemsIncreaseSpeed/(1+itemsIncreaseSpeed/120) - (weaponBasedSpeed + skillSpeedPercent + 100)/100))/100*256);
if (attackFrames 4) attackFrames = 4;
else attackFrames = (int)attackFrames;
return (int)attackFrames;
} // Object AttackFrames End-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double OpenWoundsDamage(int characterLevel) {
double openWoundsDamage;
if (characterLevel=61) openWoundsDamage = (45*characterLevel-1319)/256;
else if (characterLevel=46) openWoundsDamage = (36*characterLevel-779)/256;
else if (characterLevel =31) openWoundsDamage = (27*characterLevel-374)/256;
else if (characterLevel =16) openWoundsDamage = (18*characterLevel-104)/256;
else openWoundsDamage = (9*characterLevel+31)/256;
return (int)openWoundsDamage;
} // Object OpenWoundsDamage End----------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double CrushingBlowDamage(double totalLife, double applyPercent, int hits) {
double crushingBlowDamage;
applyPercent = (1-applyPercent/100);
for (int i = 0 ; i = hits ; ++i)applyPercent *= applyPercent;
crushingBlowDamage = totalLife - totalLife*applyPercent;
return (int)crushingBlowDamage;
} // Object CrushingBlowDamage End----------------------------------------------------------------------------------------------------------------------------------------------------------------------
public double DdcPercent(int criticalStrikeP
-
이룩
박스형태는 어떤 형탠지 모르겠네요. 외부에서 데이터를 입력받으실 때는 옛날에는 파일을 열어서 데이터를 모두 읽어와서 세팅하는 방법으로 많이들 했습니다. 그냥 txt 파일에 적당히 적어주시고 그 값들을 \적당히\ 읽어오는 방법인데요.. 요건 하실 수 있을 것 같네요.. 조금 공부를 하신다면 properties 라는 걸로 하시는게 낫다는걸 아실 겁니다. 그리고 파일을 읽어오는 방법 보다는 db 가 좀더 나을 텐데요.. 그닥 db를 준비할 정도의 규모가 크