전투

KGC_FusionEnemy(에너미 융합)

by 백호 posted Feb 22, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
복수의 에너미를 융합시켜, 새로운 적을 출현시킵니다.

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/  ◆エネミー融合 - KGC_FusionEnemy◆
#_/----------------------------------------------------------------------------
#_/ 複数の敵が融合し、新たな敵に変身します。
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ カスタマイズ項目 ★
#==============================================================================

module KGC
  # ◆融合対象戦闘不能許可
  #  true にすると、融合対象に戦闘不能者がいても融合する。
  FE_DEAD_PERMIT = false
  # ◆融合後の処置
  #  0..戦闘不能  1..消去(逃走)
  FE_AFTER_FUSION = 1
  # ◆融合後に全回復
  FE_RECOVER_AFTER_FUSION = true
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

$imported = {} if $imported == nil
$imported["FusionEnemy"] = true

#--------------------------------------------------------------------------
# ● エネミーの融合
#    trans_enemy    : 融合後のエネミーID
#    source_enemies : 融合するエネミーINDEX
#--------------------------------------------------------------------------
def fusion_enemy(trans_enemy, *source_enemies)
  # 戦闘中でない場合は戻る
  return false unless $game_temp.in_battle
  # 1体目戦闘不能判定
  unless KGC::FE_DEAD_PERMIT
    return false if $game_troop.enemies[source_enemies[0]].dead?
    # 2体目以降戦闘不能判定
    for i in 1...source_enemies.size
      enemy = $game_troop.enemies[source_enemies[i]]
      return false if enemy == nil || enemy.dead?
    end
  end
  # 1体目を変身させる
  $game_troop.enemies[source_enemies[0]].transform(trans_enemy)
  # 全回復
  if KGC::FE_RECOVER_AFTER_FUSION
    $game_troop.enemies[source_enemies[0]].recover_all
  end
  # 2体目以降を消去
  for i in 1...source_enemies.size
    enemy = $game_troop.enemies[source_enemies[i]]
    case KGC::FE_AFTER_FUSION
    when 0  # 戦闘不能
      enemy.immortal = false
      enemy.hp = 0
    when 1  # 消去
      enemy.hidden = true
    end
  end
  # 融合成功
  return true
end



우선은 커스터마이즈 항목을 고쳐 씁니다.
# ◆融合対象戦闘不能許可
# true にすると、融合対象に戦闘不能者がいても融合する。
FE_DEAD_PERMIT = false

여기에서는, 융합 대상이 전투 불능이어도 융합 처리를 속행하는지 아닌지를 설정합니다.
# ◆融合後の処置
# 0..戦闘不能(EXPあり) 1..消去(EXP無し)
FE_AFTER_FUSION = 1

여기에서는, 융합 대상을 어떻게 처리하는지를 지정합니다.
0을 지정하면, 융합한 적은 전투 불능 취급이 됩니다.
경험치·골드를 입수해, 도감에도 등록됩니다.
1을 지정하면, 융합한 적은 전투 불능이 아니고, 단지 소거됩니다.
도주와 동일 취급.경험치·골드는 입수 불가.도감에는 등록되지 않습니다.

융합 처리를 실시하려면 , 배틀 이벤트로 「스크립트」를 사용해,
fusion_enemy(trans, source, ...)

(을)를 실행합니다.

trans에는 융합 후의 에너미 ID, source에는 융합하는 무리 인덱스(무리의 줄 순서)를 지정합니다.
무리 인덱스는, 「에너미의 HP증감」등으로 표시되는 값으로부터 1을 뺀 것입니다.
source는 복수 지정 가능하고, 여기로 지정한 에너미가 융합 대상이 됩니다.
이 때, 최초로 source로 지정한 에너미가 변신했다고 보여집니다.

예를 들면 「무리 인덱스 03의 3체를 융합시켜 ID:16으로 한다」경우는
fusion_enemy(16, 0, 1, 2, 3)
됩니다.(0이 변신 취급)
이만큼이라면 매우 미 기 없기 때문에, 융합시에 애니메이션을 표시하거나 하고, 적당하게 연출을 더해 주세요.