Advertisement
roninator2

Blackmorning Advanced VK Equip Paperdoll Combo Images

Dec 16th, 2024
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 5.40 KB | None | 0 0
  1. # ╔═════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Paperdoll Combo Images       ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                  ║                    ║
  4. # ╠═════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                           ║   Date Created     ║
  6. # ║                                     ╠════════════════════╣
  7. # ║ Change paperdoll image              ║    18 Sep 2021     ║
  8. # ╚═════════════════════════════════════╩════════════════════╝
  9. # ╔══════════════════════════════════════════════════════════╗
  10. # ║ When equipping several armours together, the base image  ║
  11. # ║ will change if the combination is set in the script.     ║
  12. # ╚══════════════════════════════════════════════════════════╝
  13. # ╔══════════════════════════════════════════════════════════╗
  14. # ║ Instructions:                                            ║
  15. # ║   Specify the combination for each armour sets           ║
  16. # ║      [1,4] => 10                                         ║
  17. # ║      [1,4,8] => 11                                       ║
  18. # ╚══════════════════════════════════════════════════════════╝
  19. # ╔══════════════════════════════════════════════════════════╗
  20. # ║ Updates:                                                 ║
  21. # ║   2021 09 28 -> fixed checking for combos                ║
  22. # ╚══════════════════════════════════════════════════════════╝
  23. # ╔══════════════════════════════════════════════════════════╗
  24. # ║ Requires:                                                ║
  25. # ║   BlackMorning - Basic Module                            ║
  26. # ║   BlackMorning - Advanced Equip                          ║
  27. # ╚══════════════════════════════════════════════════════════╝
  28. # ╔══════════════════════════════════════════════════════════╗
  29. # ║ Terms of use:                                            ║
  30. # ║ Free for all uses in RPG Maker except nudity             ║
  31. # ╚══════════════════════════════════════════════════════════╝
  32.  
  33. module R2_Paperdoll_Combo
  34.   Paperdoll = {
  35.     [62,63] => 64,
  36.     [63,62] => 65,
  37.     [62,62,62] => 66,
  38.     [63,63] => 67,
  39.   }
  40. end
  41.  
  42. class Window_EquipActor < Window_Base
  43.   def draw_all_items
  44.     return unless @actor
  45.     draw_actor_name(@actor,0,0)
  46.     draw_mini_face
  47.     @equip_image = false
  48.     if BM::EQUIP::PAPER_DOLL_MODE
  49.       item_max.times {|i| draw_item2(i) }  
  50.     else
  51.       item_max.times {|i| draw_item(i) }
  52.     end
  53.     draw_equip_dummy(0, 0) if @equip_image == false
  54.   end
  55.   def draw_pd_equip_image(item, x, y)
  56.     return unless item
  57.     return if item.eb_image.nil?
  58.     @actor.equips.each_with_index { |eb, indx|
  59.       next if eb.nil?
  60.       ebfile = eb.eb_image if eb.eb_image != nil
  61.       if ebfile != item.eb_image
  62.         item = eb
  63.       end
  64.     }
  65.     item2 = item_combine(item)
  66.     if item2 != item
  67.       item = item2
  68.     end
  69.     bitmap = Cache.equip_body(item.eb_image)
  70.     rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  71.     contents.blt(x, y, bitmap, rect)
  72.     @equip_image = true
  73.   end
  74.   def item_combine(item)
  75.     prev = item
  76.     @image_combo = []
  77.     @result = nil
  78.     @id = 0
  79.     @cnt = 0
  80.     @actor.equips.each { |equip|
  81.       next if equip.nil?
  82.       @image_combo.push(equip.id)
  83.     }
  84.     R2_Paperdoll_Combo::Paperdoll.each { |data|
  85.       if @image_combo[2] == data[0][2] && (data[0][2] != nil || @image_combo[2] != nil) &&
  86.         (@image_combo[1] == data[0][1]) && (@image_combo[0] == data[0][0])
  87.         cnt = 3
  88.       elsif (@image_combo[1] == data[0][1]) && (@image_combo[0] == data[0][0]) && data[0][2].nil?
  89.         cnt = 2
  90.       else
  91.         cnt = 1
  92.       end
  93.       if @cnt < cnt && cnt > 1
  94.         @cnt = cnt
  95.         @id = data[1]
  96.       end
  97.     }
  98.     @result = $data_armors[@id]
  99.     image = @result
  100.     image = prev if @result.nil?
  101.     return image
  102.   end
  103. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement