자유게시판

수십번의 밸런스 조절 후에 결정된 계산식.

 

 결과는

 

 물리공격의 경우 

 공격력 * 4 +   ( 스킬 파워 *  (공격력 *3 + 정신력)/2 )의 정수 - 방어력 * 3 - 방어력*스킬파워

 로서 나타남.

 

다른 스탯이 미치는 공격의 경우에도 위와 같은 식으로 데미지가 계산되며

크리티컬 시 원래 데미지에 곱해지는 계수는 스킬마다 다르다.

(예를 들면  기습의 경우는 원 공격의 2배 데미지가 크리티컬 시 적용되지만

  급소 찌르기 스킬의 경우 원 공격의 3.5배의 데미지가 크리티컬 시 적용됨)

 

여기에 추가해야할 데미지 계산식은 방어무시판정과 방어시 2배 데미지

 플래그를 모든 스킬의 데이터베이스에 적용하고,

이를 데미지 계산식에 적용하는 것 등.

 

  조만간 전투 씬 까지 완료되면 스토리 폭풍제작하여 체험판 낼게요.

 

    # 제일 명중 판정
    hit = skill.hit
    hit *= user.hit / 100
    hit_result = (rand(100) < hit)
   
    # 불확실한 스킬의 경우는 유효 플래그를 세트
    effective |= hit < 100
    pow_rate = 1
   
    # 명중의 경우
    if hit_result == true
      # 위력을 계산
      if skill.classify == 1 || skill.classify == 2 || skill.classify == 3
        if user.isactor
          power = user.str*4+(skill.power[@actor.id] * (user.str*3+user.men)/2).to_i
        elsif user.isactor == false
          power = user.str*4+(skill.power[@actor.id+100] * (user.str*3+user.men)/2).to_i
        end
        if power > 0 # 파워가 0보다 크면
          power -= self.dex*3 + (skill.power[@actor.id] * self.dex).to_i
          power = [power, 1].max
        end
      elsif skill.classify == 4 || skill.classify == 5 || skill.classify == 6
        if user.isactor
          power = user.int*4+(skill.power[@actor.id] * (user.int*3+user.men)/2).to_i
        elsif user.isactor == false
          power = user.int*4+(skill.power[@actor.id+100] * (user.int*3+user.men)/2).to_i         
        end
        if power > 0 # 파워가 0보다 크면
          power -= self.reg*3  + (skill.power[@actor.id] * self.reg).to_i
          power = [power, 1].max
        end
      elsif skill.classify == 7 || skill.classify == 8 || skill.classify == 9
        if user.isactor
          power = user.men*4+(skill.power[@actor.id] / 2 * (user.men*3+user.int/2+user.atk/2)).to_i
        elsif user.isactor == false
          power = user.men*4+(skill.power[@actor.id+100] /2 * (user.men*3+user.int/2+user.atk/2)).to_i
        end
        if power > 0 # 파워가 0보다 크면
          power -= self.men*3  + (skill.power[@actor.id] * self.men).to_i
          power = [power, 1].max
        end
      end
     
      # 배율을 계산
      rate = 1
      # 기본 데미지를 계산
      self.damage = power.to_i
     
      # 크리티컬 수정
      if rand(100) < user.cri_rate + skill.cri_rate
        self.damage += (self.damage* 7/10 * skill.cri_power).to_i
        self.critical = true
      end
       
      # 데미지의 부호가 정의 경우
      if self.damage > 0
        # 방어 수정
        if self.guarding?
          self.damage /= 2
        end
      end
      # 분산
      if skill.variance > 0 and self.damage.abs > 0
        amp = [self.damage.abs * skill.variance / 100, 1].max
        self.damage += rand(amp+1) + rand(amp+1) - amp
      end
      # 제2 명중 판정
      eva = 8 + self.eva
      hit = self.damage < 0 ? 100 : 100 - eva * skill.eva_f / 100
      hit = self.cant_evade? ? 100 : hit
      hit_result = (rand(100) < hit)
      # 불확실한 스킬의 경우는 유효 플래그를 세트
      effective |= hit < 100
    end
   
    # 명중의 경우
    if hit_result == true
      # 위력 0 이외의 물리 공격의 경우
      if skill.power != 0 and skill.atk_f > 0
        # 스테이트 충격 해제
        remove_states_shock
        # 유효 플래그를 세트
        effective = true
      end
      # HP 로부터 데미지를 감산
      last_hp = self.hp
      self.hp -= self.damage
      effective |= self.hp != last_hp
      # 스테이트 변화
      @state_changed = false
      effective |= states_plus(skill.plus_state_set)
      effective |= states_minus(skill.minus_state_set)
      # 위력이 0 의 경우
      if skill.power == 0
        # 데미지에 공문자열을 설정
        self.damage = ""
        # 스테이트에 변화가 없는 경우
        unless @state_changed
          # 데미지에 "Miss" 를 설정
          self.damage = "Miss"
        end
      end
    # 미스의 경우
    else
      # 데미지에 "Miss" 를 설정
      self.damage = "Miss"
      # 위기 플래그를 클리어
      self.critical = false
    end
    # 전투중이 아닌 경우
    unless $game_temp.in_battle
      # 데미지에 nil 를 설정
      self.damage = nil
    end
    # 메소드 종료
    return effective
  end

Who's 시트르산

?

제작중인 게임 :

Midnight Blue  (미드나잇 블루) - RPGXP

 공동제작 : 휘파람개비님

 시스템 : 45%, 스토리 : 10%, 맵 : 3%, 제작 : 1%

 CG : 2%         총 진행도 : 3%

 

 이번 게임은 공동제작인 만큼 최선을 다하겠습니다 ^^

기다려주세요~~

Comment '3'

List of Articles
분류 제목 글쓴이 날짜 조회 수
공지 아방스 게시물 · 댓글 작성 규칙 (최근 수정일 2015.11.25) 17 file 완폐남™ 2012.07.17 41177
막장 위키피디아에서 링크타기... 1 Alkaid 2011.05.26 843
막장 위선.jpg 15 file JACKY 2013.11.20 660
막장 웹검색하며 돌다 찾은 것. 1 Alkaid 2011.11.05 1509
막장 웹 돌다 본 윳쿠리 키우기 게임들. 4 Alkaid 2013.08.11 3959
막장 워이 워이 물렀거라 하늘바라KSND 2015.02.24 133
막장 웃겨 뒤지는줄 알았다. 1 메모라이즈 2010.11.03 746
막장 울트라맨의 비애..... 3 Alkaid 2011.08.07 1013
막장 울산에 지진 일어났슴다. 5 슈팅스타* 2016.07.05 134
막장 운영진분들...? 1 무명시절 2023.04.03 121
막장 운영진님 감사합니다 1 무명시절 2022.05.06 89
막장 운영자분들은 댓글 알림 안오는문제 인식은 하고있나요? 5 파치리스 2018.06.22 203
막장 우훗, 멋진 갑옷 디자인.... 5 Alkaid 2012.04.17 1638
막장 우후하하하 드디어 악마게임 마인크의 굴레에서 벗어났다!!!!! 1 엘리카 2011.06.13 955
막장 우주가 계속 팽창한다고 가정하였을 경우의 미래.... Alkaid 2011.05.10 659
막장 우울하다 1 시옷전사 2010.12.13 349
막장 우왘ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 2 테시오 2011.02.09 520
막장 우와 씨빵 테시오 2010.11.01 474
막장 우와 막장이다 막장 ITE 2011.02.23 483
막장 우와 꼴려 7 we0 2011.07.18 912
막장 우수작 공략을 써보려고 턴제 rpg 게임을 찾고있는데... 10 sudoxe 2014.04.06 761
목록
Board Pagination Prev 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 64 Next
/ 64