查看: 1093|回复: 7

[已经解决] 【已解决】关于 MOG - Enemy HP Meter

[复制链接]
梦石
0
星屑
4225
在线时间
2670 小时
注册时间
2012-3-1
回帖
680
发表于 2025-2-4 03:34:13 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 卡奥尼特 于 2025-2-5 21:50 编辑

嗯…… 目前这个脚本里所缺失的部分…
就是技能/物品涉及到多目标的时候,他只会绘制一个敌人的HP。

目前我想要的效果:
技能/物品的范围为多目标/全体敌人的时候,直接绘制全部敌人的HP。

[fold=脚本部分]
  1. #==============================================================================
  2. # +++ MOG - Enemy HP Meter  (v1.9) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # https://atelierrgss.wordpress.com/
  6. #==============================================================================
  7. # Apresenta um medidor animado com o HP do inimigo.
  8. #==============================================================================
  9. # Para ocultar o HP do inimigo use a TAG abaixo na caixa de notas.
  10. #
  11. # <Hide HP>
  12. #
  13. #==============================================================================
  14. # Serão necessários as imagens.
  15. #
  16. # Battle_Enemy_HP_Layout.png
  17. # Battle_Enemy_HP_Meter.png
  18. #
  19. #==============================================================================
  20. # ● Histórico (Version History)
  21. #==============================================================================
  22. # (1.9) - Compatibilidade com o MOG Battle Camera.
  23. # (1.8) - Melhoria da compatibilidade de scripts.
  24. # (1.7) - Correção da posição do medidor de HP em algumas sistuações.
  25. # (1.6) - Melhoria no sistema de posição da origem Z.
  26. #==============================================================================

  27. $imported = {} if $imported.nil?
  28. $imported[:mog_enemy_hp] = true

  29. module MOG_ENEMY_HP
  30.    #血条总坐标
  31.    POSITION_CORRECTION = [0,8]
  32.    #HP血条坐标
  33.    HP_METER_POSITION = [2,17.1]
  34.    #光标选择敌人时,绘制该敌人血条
  35.    SHOW_ENEMY_HP_SELECTION = true
  36.    #选择敌人显示HP后,移动/取消/确定时的消失间隔
  37.    ENEMY_HP_SELECTION_FADE_TIME = 2
  38.    #血条消失间隔
  39.    FADE_TIME  = 90
  40.    
  41.    #血条的Z轴
  42.    PRIORITY_Z = 50
  43.    

  44. end

  45. #==============================================================================
  46. # ■ Game Enemy
  47. #==============================================================================
  48. class Game_Enemy < Game_Battler

  49.   attr_accessor :hp_meter_active               
  50.   
  51.   #--------------------------------------------------------------------------
  52.   # ● Initialize
  53.   #--------------------------------------------------------------------------
  54.   alias mog_enemy_hp_initialize initialize
  55.   def initialize(index, enemy_id)
  56.       mog_enemy_hp_initialize(index, enemy_id)
  57.       hide = enemy.note =~ /<Hide HP>/i ? true : false
  58.       @hp_meter_active = [false,hide]
  59.   end  

  60. end

  61. #==============================================================================
  62. # ■ Game_Battler
  63. #==============================================================================
  64. class Game_Battler < Game_BattlerBase
  65.   
  66.   #--------------------------------------------------------------------------
  67.   # ● Item Apply
  68.   #--------------------------------------------------------------------------  
  69.    alias mog_enemy_hp_item_apply item_apply
  70.    def item_apply(user, item)
  71.        mog_enemy_hp_item_apply(user, item)
  72.        self.hp_meter_active[0] = true if self.is_a?(Game_Enemy) and @result.hp_damage != 0   
  73.    end

  74.   #--------------------------------------------------------------------------
  75.   # ● Regenerate HP
  76.   #--------------------------------------------------------------------------
  77.   alias mog_enemy_hp_regenerate_hp regenerate_hp
  78.   def regenerate_hp
  79.       mog_enemy_hp_regenerate_hp
  80.       self.hp_meter_active[0] = true if self.is_a?(Game_Enemy) and @result.hp_damage != 0   
  81.   end
  82.    
  83. end
  84.   
  85. #==============================================================================
  86. # ■ Game Temp
  87. #==============================================================================
  88. class Game_Temp
  89.   
  90.   attr_accessor :cache_enemy_hp
  91.   attr_accessor :battle_end
  92.   
  93.   #--------------------------------------------------------------------------
  94.   # ● Initialize
  95.   #--------------------------------------------------------------------------      
  96.   alias mog_enemy_hp_initialize initialize
  97.   def initialize
  98.       @battle_end = false   
  99.       mog_enemy_hp_initialize
  100.       cache_ehp
  101.   end
  102.   
  103.   #--------------------------------------------------------------------------
  104.   # ● Cache EHP
  105.   #--------------------------------------------------------------------------     
  106.   def cache_ehp
  107.       @cache_enemy_hp = []
  108.       @cache_enemy_hp.push(Cache.system("Battle_Enemy_HP_Layout"))
  109.       @cache_enemy_hp.push(Cache.system("Battle_Enemy_HP_Meter"))
  110.   end
  111.   
  112.   #--------------------------------------------------------------------------
  113.   # ● Sprite Visible
  114.   #--------------------------------------------------------------------------   
  115.   def sprite_visible
  116.       return false if $game_message.visible
  117.       return false if $game_temp.battle_end
  118.       return true
  119.   end
  120.   
  121. end

  122. #==============================================================================
  123. # ■ Enemy HP
  124. #==============================================================================
  125. class Enemy_HP
  126.   include MOG_ENEMY_HP
  127.   #追加常量
  128.   attr_accessor :fade_time
  129.   attr_accessor :layout
  130.   attr_accessor :hp_meter
  131.   
  132.   #--------------------------------------------------------------------------
  133.   # ● Initialize
  134.   #--------------------------------------------------------------------------   
  135.   def initialize(viewport = nil,enemy,index)
  136.       $game_temp.battle_end = false
  137.       @enemy = enemy ; @index = index ; @fade_time = -1
  138.       create_layout ; create_hp_meter      
  139.       @layout.opacity = 0 ; @layout.visible = false
  140.       @layout.viewport = viewport ; @hp_meter.opacity = 0
  141.       @hp_meter.visible = false ; @hp_meter.viewport = viewport
  142.       @layout.z = PRIORITY_Z ; @enemy.hp_meter_active[0] = false
  143.       @enemy_old = @enemy ; @enemy_old2 = nil
  144.       @hide = @enemy.hp_meter_active[1]
  145.       set_meter_position ; @force_visbible = false
  146.   end
  147.   
  148.   #--------------------------------------------------------------------------
  149.   # ● Set Meter Position
  150.   #--------------------------------------------------------------------------   
  151.   def set_meter_position
  152.       return if @enemy == nil
  153.       b_pos = [@enemy.screen_x - (@layout.width / 2) + POSITION_CORRECTION[0],
  154.                @enemy.screen_y + POSITION_CORRECTION[1] - (@layout.height / 2)]
  155.       @org_pos1 = [b_pos[0],b_pos[1]]
  156.       @layout.x = @org_pos1[0] ; @layout.y = @org_pos1[1]   
  157.       @org_pos2 = [b_pos[0] + HP_METER_POSITION[0],
  158.                    b_pos[1] + HP_METER_POSITION[1]]
  159.       @hp_meter.x = @org_pos2[0] ; @hp_meter.y = @org_pos2[1]
  160.       @hp_meter.z = PRIORITY_Z   
  161.   end     
  162.       
  163.   #--------------------------------------------------------------------------
  164.   # ● Create HP Meter
  165.   #--------------------------------------------------------------------------        
  166.   def create_layout
  167.       @layout = Sprite.new ; @layout.bitmap = $game_temp.cache_enemy_hp[0]
  168.   end
  169.    
  170.   #--------------------------------------------------------------------------
  171.   # ● Create HP Meter
  172.   #--------------------------------------------------------------------------      
  173.   def create_hp_meter
  174.       @meter_image = $game_temp.cache_enemy_hp[1]
  175.       @meter_cw = @meter_image.width ; @meter_ch = @meter_image.height / 2      
  176.       @hp_meter = Sprite.new
  177.       @hp_meter.bitmap = Bitmap.new(@meter_cw,@meter_ch)
  178.       @hp_width_old = @meter_cw * @enemy.hp / @enemy.mhp
  179.     end  
  180.   
  181.   #--------------------------------------------------------------------------
  182.   # ● Hp Flow Update
  183.   #--------------------------------------------------------------------------
  184.   def update_hp_flow
  185.       return if !@layout.visible     
  186.       hp_width = @meter_cw * @enemy.hp / @enemy.mhp
  187.       @hp_meter.bitmap.clear ; execute_damage_flow(hp_width)
  188.       hp_src_rect = Rect.new(0,0,hp_width, @meter_ch)
  189.       @hp_meter.bitmap.blt(0,0, @meter_image, hp_src_rect)
  190.   end
  191.    
  192.   #--------------------------------------------------------------------------
  193.   # ● Execute Damage Flow
  194.   #--------------------------------------------------------------------------
  195.   def execute_damage_flow(hp_width)
  196.       n = (@hp_width_old - hp_width).abs * 3 / 100
  197.       damage_flow = [[n, 2].min,0.5].max
  198.       @hp_width_old -= damage_flow
  199.       @hp_width_old = hp_width if @hp_width_old <= hp_width
  200.       src_rect_old = Rect.new(0,@meter_ch,@hp_width_old, @meter_ch)
  201.       @hp_meter.bitmap.blt(0,0, @meter_image, src_rect_old)      
  202.   end   
  203.   
  204.   #--------------------------------------------------------------------------
  205.   # ● Dispose
  206.   #--------------------------------------------------------------------------      
  207.   def dispose
  208.       return if @layout == nil
  209.       @layout.dispose ; @hp_meter.bitmap.dispose ; @hp_meter.dispose
  210.   end
  211.   
  212.   #--------------------------------------------------------------------------
  213.   # ● Update
  214.   #--------------------------------------------------------------------------      
  215.   def update
  216.       return if @meter_image == nil
  217.       return if @hide
  218.       if force_hide_enemy_hp?
  219.          @hp_meter.visible = false
  220.          @layout.visible = false   
  221.          return
  222.       end
  223.       update_clear ; update_fade ; update_visible
  224.       update_hp_flow ; refresh if @enemy.hp_meter_active[0]
  225.       update_battle_camera if $imported[:mog_battle_camera]
  226.   end  
  227.   
  228.   #--------------------------------------------------------------------------
  229.   # ● Update Battle Camera
  230.   #--------------------------------------------------------------------------               
  231.   def update_battle_camera
  232.       @hp_meter.ox = $game_temp.viewport_oxy[0]
  233.       @hp_meter.oy = $game_temp.viewport_oxy[1]
  234.       @layout.ox = $game_temp.viewport_oxy[0]
  235.       @layout.oy = $game_temp.viewport_oxy[1]
  236.   end  
  237.   
  238.   #--------------------------------------------------------------------------
  239.   # ● Force Hide Enemy HP
  240.   #--------------------------------------------------------------------------      
  241.   def force_hide_enemy_hp?
  242.       if $imported[:mog_atb_system]
  243.          return true if $game_temp.atb_user == nil
  244.          return true if $game_temp.end_phase_duration[1] > 0
  245.       end
  246.       return true if !$game_temp.sprite_visible
  247.       return true if $game_message.visible
  248.       return true if $game_temp.battle_end
  249.       return false
  250.   end         
  251.   
  252.   #--------------------------------------------------------------------------
  253.   # ● Can Update Force Refresh
  254.   #--------------------------------------------------------------------------      
  255.   def can_update_force_refresh?
  256.       return false if @index != 0
  257.       return false if !MOG_ENEMY_HP::SHOW_ENEMY_HP_SELECTION
  258.       return false if $imported[:mog_battle_cursor] == nil
  259.       return false if $game_temp.battle_cursor_data == nil
  260.       @force_visbible = true ; force_refresh if can_force_refresh?
  261.       return true
  262.   end
  263.    
  264.   #--------------------------------------------------------------------------
  265.   # ● Update force_refresh
  266.   #--------------------------------------------------------------------------        
  267.   def can_force_refresh?
  268.       return false if @enemy_old2 == $game_temp.battle_cursor_data
  269.       return false if $game_temp.battle_cursor_data.is_a?(Game_Actor)
  270.       return true
  271.   end
  272.   
  273.   #--------------------------------------------------------------------------
  274.   # ● Update clear
  275.   #--------------------------------------------------------------------------        
  276.   def update_clear
  277.       return if !@force_visbible
  278.       @force_visbible = false ; @enemy = @enemy_old ; @enemy_old2 = nil
  279.       @layout.visible = false ;  @hp_meter.visible = false         
  280.   end
  281.    
  282.   #--------------------------------------------------------------------------
  283.   # ● Update Fade
  284.   #--------------------------------------------------------------------------        
  285.   def update_fade
  286.       @fade_time -= 1 if @fade_time > 0
  287.       return if @fade_time != 0
  288.       @layout.opacity -= 10 ; @hp_meter.opacity -= 10
  289.       @layout.x += 1 ; @hp_meter.x += 1 ; @fade_time = -1 if @layout.opacity == 0
  290.   end  
  291.   
  292.   #--------------------------------------------------------------------------
  293.   # ● Update Visible
  294.   #--------------------------------------------------------------------------        
  295.   def update_visible
  296.       return if !@layout.visible
  297.       vis = can_visible? ; @layout.visible = vis ; @hp_meter.visible = vis
  298.   end
  299.   
  300.   #--------------------------------------------------------------------------
  301.   # ● Refresh
  302.   #--------------------------------------------------------------------------         
  303.   def refresh
  304.       set_meter_position
  305.       @enemy.hp_meter_active[0] = false ; @fade_time = MOG_ENEMY_HP::FADE_TIME
  306.       @layout.opacity = 255  ; @hp_meter.opacity = 255   
  307.       @layout.visible = true ; @hp_meter.visible = true
  308.       @layout.x = @org_pos1[0] ;  @layout.y = @org_pos1[1]
  309.       @hp_meter.x = @org_pos2[0]; @hp_meter.y = @org_pos2[1]      
  310.       hp_width = @meter_cw * @enemy.hp / @enemy.mhp
  311.       @hp_width_old = hp_width if @hp_width_old < hp_width
  312.       update_hp_flow      
  313.   end
  314.   
  315.   #--------------------------------------------------------------------------
  316.   # ● Refresh
  317.   #--------------------------------------------------------------------------         
  318.   def force_refresh
  319.       return if $game_temp.battle_cursor_data == nil
  320.       @enemy_old2 = $game_temp.battle_cursor_data
  321.       @enemy = $game_temp.battle_cursor_data
  322.       set_meter_position
  323.       @enemy.hp_meter_active[0] = false ; @fade_time = 2
  324.       @layout.opacity = 255 ;  @hp_meter.opacity = 255   
  325.       @layout.visible = true ; @hp_meter.visible = true
  326.       @layout.x = @org_pos1[0] ;  @layout.y = @org_pos1[1]
  327.       @hp_meter.x = @org_pos2[0]; @hp_meter.y = @org_pos2[1]      
  328.       hp_width = @meter_cw * @enemy.hp / @enemy.mhp
  329.       @hp_width_old = hp_width ; update_hp_flow
  330.   end  
  331.   
  332.   #--------------------------------------------------------------------------
  333.   # ● Can Visible?
  334.   #--------------------------------------------------------------------------         
  335.   def can_visible?
  336.       return false if @layout.opacity == 0
  337.       return false if $game_message.visible
  338.       return false if $game_temp.battle_end      
  339.       return true
  340.   end
  341.    
  342. end

  343. #==============================================================================
  344. # ■ Window BattleEnemy
  345. #==============================================================================
  346. class Window_BattleEnemy < Window_Selectable
  347.   #--------------------------------------------------------------------------
  348.   # ● 更新
  349.   #--------------------------------------------------------------------------
  350.   alias gumao_update_target_anim update
  351.   def update
  352.     gumao_update_target_anim
  353.     if active && MOG_ENEMY_HP::SHOW_ENEMY_HP_SELECTION
  354.       enemy.hp_meter_active[0] = true
  355.     end
  356.   end
  357.   #--------------------------------------------------------------------------
  358.   # ● 按确定键后处理
  359.   #--------------------------------------------------------------------------
  360.   alias gumao_battle_process_ok process_ok
  361.   def process_ok
  362.     $enemy_hp[enemy.index].fade_time = MOG_ENEMY_HP::ENEMY_HP_SELECTION_FADE_TIME
  363.     #$enemy_hp[enemy.index].layout.opacity = 0
  364.     #$enemy_hp[enemy.index].hp_meter.opacity = 0
  365.     gumao_battle_process_ok
  366.   end
  367.   #--------------------------------------------------------------------------
  368.   # ● 按取消键后处理
  369.   #--------------------------------------------------------------------------
  370.   alias gumao_battle_process_cancel process_cancel
  371.   def process_cancel
  372.     $enemy_hp[enemy.index].fade_time = MOG_ENEMY_HP::ENEMY_HP_SELECTION_FADE_TIME
  373.     #$enemy_hp[enemy.index].layout.opacity = 0
  374.     #$enemy_hp[enemy.index].hp_meter.opacity = 0
  375.     gumao_battle_process_cancel
  376.   end
  377.   #--------------------------------------------------------------------------
  378.   # ● 光标移动时处理
  379.   #--------------------------------------------------------------------------
  380.   alias gumao_battle_process_cursor_move process_cursor_move
  381.   def process_cursor_move
  382.     return unless cursor_movable?
  383.     last_enemy = enemy
  384.     gumao_battle_process_cursor_move
  385.     if enemy != last_enemy && MOG_ENEMY_HP::SHOW_ENEMY_HP_SELECTION
  386.       $enemy_hp[last_enemy.index].fade_time = MOG_ENEMY_HP::ENEMY_HP_SELECTION_FADE_TIME
  387.       #$enemy_hp[last_enemy.index].layout.opacity = 0
  388.       #$enemy_hp[last_enemy.index].hp_meter.opacity = 0
  389.     end
  390.   end
  391.   
  392. end

  393. #==============================================================================
  394. # ■ Spriteset Battle
  395. #==============================================================================
  396. class Spriteset_Battle
  397.   
  398.   #--------------------------------------------------------------------------
  399.   # ● Initialize
  400.   #--------------------------------------------------------------------------  
  401.   alias mog_enemy_hp_initialize initialize
  402.   def initialize
  403.       mog_enemy_hp_initialize
  404.       create_enemy_hp
  405.   end
  406.   
  407.   #--------------------------------------------------------------------------
  408.   # ● Create Battle Hud
  409.   #--------------------------------------------------------------------------   
  410.   def create_enemy_hp
  411.       @enemy_hp = []      
  412.       $game_troop.members.each_with_index do |i, index| @enemy_hp.push(Enemy_HP.new(nil,i,index)) end
  413.       $enemy_hp = @enemy_hp
  414.   end
  415.   
  416.   #--------------------------------------------------------------------------
  417.   # ● Dispose
  418.   #--------------------------------------------------------------------------      
  419.   alias mog_enemy_hp_dispose dispose
  420.   def dispose
  421.       dispose_enemy_hp
  422.       mog_enemy_hp_dispose
  423.   end  
  424.   
  425.   #--------------------------------------------------------------------------
  426.   # ● Dispose Enemy HP
  427.   #--------------------------------------------------------------------------        
  428.   def dispose_enemy_hp
  429.       return if @enemy_hp == nil
  430.       @enemy_hp.each {|sprite| sprite.dispose } ; @enemy_hp.clear
  431.   end
  432.   
  433.   #--------------------------------------------------------------------------
  434.   # ● Update
  435.   #--------------------------------------------------------------------------        
  436.   alias mog_enemy_hp_update update
  437.   def update
  438.       mog_enemy_hp_update
  439.       update_enemy_hp
  440.   end
  441.   
  442.   #--------------------------------------------------------------------------
  443.   # ● Update Enemy HP
  444.   #--------------------------------------------------------------------------         
  445.   def update_enemy_hp
  446.       return if @enemy_hp == nil
  447.       @enemy_hp.each {|sprite| sprite.update }
  448.   end
  449.    
  450. end
复制代码
[/fold]

自改的血条素材:
自改血条素材.zip (6.41 KB, 下载次数: 2)

范例工程:
血条和战斗系统.rar (1.53 MB, 下载次数: 1)



梦石
0
星屑
6375
在线时间
1473 小时
注册时间
2015-7-25
回帖
609

极短25参与开拓者

发表于 2025-2-5 18:39:58 | 显示全部楼层
由于缺少素材以及肯定还用了其他脚本配合效果的情况下,这边只能脑补效果画面进行改造脚本并且没办法测试,放在MOG - Enemy HP Meter脚本的下面一页测试一下吧
[pre lang="ruby"]class Window_BattleEnemy
  def all_enemies_show_hp(show=true)
    $game_troop.alive_members.each {|i| i.hp_meter_active[0] = show}
  end
  def update
    gumao_update_target_anim
    if active && MOG_ENEMY_HP::SHOW_ENEMY_HP_SELECTION
      if BattleManager.actor.input.item.for_one?
        enemy.hp_meter_active[0] = true
      else
        all_enemies_show_hp
      end
    end
  end
end[/pre]
笨肉包的游戏讨论群932812135 (实时更新) 喜欢的话欢迎加入~
目前的坑
??? #像素风OC游戏 准备中 短篇-约5小时
花城梦之心 #像素风OC游戏 系统开发+素材绘制中
【不可思议的迷宫】幽灵契约外传:歌莉娅 v0.4 游戏文件已更新
同时更新中~ (沉迷摸鱼中~更新速度较慢请见谅w)
这是属于笨肉包一个人的旅行~(这只肉包又在摸鱼!
旅途的最终目标~ ???(保密~
回复

使用道具 举报

梦石
0
星屑
4225
在线时间
2670 小时
注册时间
2012-3-1
回帖
680
 楼主| 发表于 2025-2-5 20:00:33 | 显示全部楼层
本帖最后由 卡奥尼特 于 2025-2-5 20:01 编辑
魔法丶小肉包 发表于 2025-2-5 18:39
由于缺少素材以及肯定还用了其他脚本配合效果的情况下,这边只能脑补效果画面进行改造脚本并且没办法测试, ...


这个脚本我试了下,感觉……
选择单个敌人 和 选择多个敌人的情况不一样呢。
主要是有奇妙的违和感w

我刚刚补充了一下素材。

点评

我上传了范例工程,选择敌人的功能的位图是LNX11自动生成的。  发表于 2025-2-5 21:24
因为默认系统是没有选择多个敌人的功能的,如果不是单体目标的话是直接跳过选择的,所以方便的话干脆把Scripts.rvdata2发一下这边就可以测试了  发表于 2025-2-5 21:20
有没有使用过选择敌人相关的脚本呢,有的话发一下  发表于 2025-2-5 21:15
回复

使用道具 举报

梦石
0
星屑
6375
在线时间
1473 小时
注册时间
2015-7-25
回帖
609

极短25参与开拓者

发表于 2025-2-5 21:46:16 | 显示全部楼层
卡奥尼特 发表于 2025-2-5 20:00
这个脚本我试了下,感觉……
选择单个敌人 和 选择多个敌人的情况不一样呢。
主要是有奇妙的违和感w

处理了一下,现在感觉没有违和感了,可以试一下,把原本那段替换掉
[pre lang="ruby"]class Window_BattleEnemy
  def all_enemies_show_hp(show=true)
    $game_troop.alive_members.each {|i| i.hp_meter_active[0] = show}
  end
  def update
    gumao_update_target_anim
    if active && MOG_ENEMY_HP::SHOW_ENEMY_HP_SELECTION
      if BattleManager.actor.input.item.for_one?
        enemy.hp_meter_active[0] = true
      else
        all_enemies_show_hp
      end
    end
  end
  def process_ok
    $enemy_hp.each {|i| i.fade_time = MOG_ENEMY_HP::ENEMY_HP_SELECTION_FADE_TIME}
    gumao_battle_process_ok
  end
  def process_cancel
    $enemy_hp.each {|i| i.fade_time = MOG_ENEMY_HP::ENEMY_HP_SELECTION_FADE_TIME}
    gumao_battle_process_cancel
  end
end[/pre]

点评

好了。  发表于 2025-2-5 21:50
笨肉包的游戏讨论群932812135 (实时更新) 喜欢的话欢迎加入~
目前的坑
??? #像素风OC游戏 准备中 短篇-约5小时
花城梦之心 #像素风OC游戏 系统开发+素材绘制中
【不可思议的迷宫】幽灵契约外传:歌莉娅 v0.4 游戏文件已更新
同时更新中~ (沉迷摸鱼中~更新速度较慢请见谅w)
这是属于笨肉包一个人的旅行~(这只肉包又在摸鱼!
旅途的最终目标~ ???(保密~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部