자유게시판

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

 

 결과는

 

 물리공격의 경우 

 공격력 * 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 41182
잡담 일본 쯔꾸르 게임, 한글로 하는법 10 file 우월감 2014.02.12 100189
잡담 제15회 똥똥배 대회 후원 페이지가 열렸습니다. 똥똥배 2014.06.16 18955
잡담 섹지보스털,초지보딩,중지보딩,고지보딩 19금 15 SCUD 2010.01.18 18402
잡담 미래로 부터 온자들이여! 46 아방스 2007.11.05 16489
잡담 휴대폰녀 이번엔 또 어떤년?녀?냐 파라과이 응원녀!! 3 화양연화 2010.06.25 15794
잡담 [BGM]일본 쯔꾸르에 아랄트랜스(AT코드)가 먹히네요^^ 5 file 우월감 2014.02.09 13902
잡담 25년간 연재된 전설적인 만화가 올해 완결이 납니다. 8 file Roam 2013.02.16 13800
잡담 쯔꾸르 RPG 게임 할만한거 없나요? 2 빡새 2015.03.21 13491
안녕하세요 김성식 의원실입니다. 오래 기다리셨지요? 9 김성식의원실 2010.11.09 11115
잡담 페널티녀 진짜 기존의 년들과는 틀리다!! 4 화양연화 2010.06.24 11104
막장 폰트를 apk로 변환하기. Alkaid 2013.12.08 9904
잡담 료나게임이 이렇게 많을줄은 몰랐네요 28 류네 2013.10.13 9842
잡담 네이버 회원가입좀 도와주실분,,ㅠㅠ 저는 외국에삽니다. 15 피아노맨 2013.12.08 9463
잡담 RPG만들기 맵배치 강좌(?) 어때요? 참쉽죠? 9 아방스 2007.11.08 9022
잡담 나루토 253화 5 아방스 2007.11.09 8693
잡담 예전에 상상하면서 찍어봤던 (!) 던파2 도트 (마법사) 4 zki 2012.02.27 8658
테스트중 ^^ (립싱크 ^^ ) 12 아방스 2007.11.06 8397
메이플 스토리 발그림 콘테스트~ 2 아방스 2012.04.19 8278
잡담 RPG VX ACE 캐릭터 사이즈 한계 돌파 2 file 지하상가로 2011.12.27 8239
잡담 미국 판타지 얼음과 불의 노래, 사상 최고로 암울한 주인공 집안 4 달표범 2009.12.18 8022
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 755 Next
/ 755