じ☆ve冰风 发表于 2026-8-1 12:28:37

Multiplying Enemies

Done for a request here.

This seems to be a fun script so i am sharing it here for anyone else that needs it.

This script allows the making of multiplying enemies. (enemy that splits and multiplies)

eg.

Slimes that kept multiplying at each turn's end until the original slime is killed.

Features:

Multiply or Clone enemy on a script call.

Limit to 8 enemies max per battle to prevent exp/item cheating.

Stop multiplying when the original version is dead.

Screenshot:

http://s14.postimg.org/62kftkjyp/multiplyslime.png

How to Use:

Paste this script below Material and above Main

Use this script call to Multiply or Clone an enemy

$game_troop.clone_enemy(N)where N = the troop member's id. (starting from 0)

Compatibility:

This script is using only new method.

So it should work with other custom scripts without any problem.

Terms of Use:

Free for use in both commercial and non-commercial games.

Script:

Spoiler#==============================================================================# ■ Meow Face Clone Enemy#------------------------------------------------------------------------------# Clone/Multiply Enemy in Battle#==============================================================================# How to Use:# Put this script below Material and above Main# Use this script call in troop event to clone an exisiting enemy.#        $game_troop.clone_enemy(N)#      Where N is the troop member's id (0~number in party)# P/S: Please note that there is a max limit of enemy troop (up to 8 max)#==============================================================================class Spriteset_Battle  def add_new_enemies    meow_troop = @enemy_sprites.collect {|m| m.battler }    meow_army = $game_troop.members - meow_troop    meow_army.each do |enemy|      @enemy_sprites.insert(0, Sprite_Battler.new(@viewport1, enemy))    end  endendclass Game_Troop < Game_Unit  def clone_enemy(clone)    member = $game_troop.members    return if !member.alive?    return if members.size >= 8    enemy = Game_Enemy.new(@enemies.size, member.enemy_id)    members.push(enemy)    enemy.screen_x = member.screen_x + ((rand(50) + 50) - rand(100))    enemy.screen_y = member.screen_y + ((rand(10) + 10) - rand(20))    enemy.on_battle_start    make_unique_names    SceneManager.scene.update_enemy_sprites  endendclass Scene_Battle < Scene_Base  def update_enemy_sprites    @spriteset.add_new_enemies    @enemy_window.refresh  endend



Enemy Sprite Random Flip Add-On:

This add-on includes random flip of battler's sprite.

Put this add-on below the main Meow Face Clone Enemy script.

Spoiler#==============================================================================# ■ Meow Face Clone Enemy (Flip Battler Graphic Add-on)#------------------------------------------------------------------------------# Random flip cloned enemy#==============================================================================# Require:# Meow Face Clone Enemy Script# How to Use:# Put this script below Meow Face Clone Enemy Script#==============================================================================class Sprite_Battler < Sprite_Base  alias meow_sp_update update  def update    self.mirror = battler.flip if @battler    meow_sp_update  endendclass Game_Battler < Game_BattlerBase  attr_accessor :flip  alias meow_bat initialize  def initialize    meow_bat    @flip = false  endendclass Game_Troop < Game_Unit  def clone_enemy(clone)    member = $game_troop.members    return if !member.alive?    return if members.size >= 8    enemy = Game_Enemy.new(@enemies.size, member.enemy_id)    members.push(enemy)    enemy.screen_x = member.screen_x + ((rand(50) + 50) - rand(100))    enemy.screen_y = member.screen_y + ((rand(10) + 10) - rand(20))    enemy.on_battle_start    make_unique_names    SceneManager.scene.update_enemy_sprites    enemy.flip = (rand(2) == 0 )  endend




Updated:

25/10/2015 - It's now possible to have the newly cloned enemy show up with a flipped sprite (50% random chance of flip).

Just add that add-on script below the main script if you wish to use this feature.

11/10/2015 - Script released


本贴来自国际rpgmaker官方论坛作者:MeowFace处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/multiplying-enemies.45731/
页: [1]
查看完整版本: Multiplying Enemies