Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Actors & enemies without Morale
#2
Well, the removal of the Morale bar itself could be as simple as wrapping the bar-drawing code in an if...endif block, or just adding some code before the stat is even drawn:

Examples:

First, let's assume we're dealing with a list of 'actors' and/or enemies with no Morale to work with
Code:
IGNORE_ACTOR = [2,4,6,8]
IGNORE_ENEMY = [1,5,6,12]

We can refer to these battlers at the very 'beginning' of a method like so:
Code:
  def draw_actor_morale(actor, x, y, width = 144)

    # Just exit if the battler is in an excluded list
    # (Added Enemies into the method for kicks)
    if actor.is_a?(Game_Actor)
      return if IGNORE_ACTOR.include?(actor.id)
    else
      return if IGNORE_ENEMY.include?(actor.id)
    end

    # Draw "Morale" text string
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, "Morale")
    # Calculate if there is draw space for MaxMorale
    if width - 32 >= 108
      morale_x = x + width - 108
      flag = true
    elsif width - 32 >= 48
      morale_x = x + width - 48
      flag = false
    end
    # Draw Morale
    self.contents.font.color = actor.hp == 0 ? knockout_color :
      actor.morale <= actor.maxmorale / 4 ? crisis_color : normal_color
    self.contents.draw_text(morale_x, y, 48, 32, actor.morale.to_s, 2)
    # Draw MaxMorale
    if flag
      self.contents.font.color = normal_color
      self.contents.draw_text(morale_x + 48, y, 12, 32, "/", 1)
      self.contents.draw_text(morale_x + 60, y, 48, 32, actor.maxmorale.to_s)
    end
  end

This example merely revents the 'text' of the Morale statistic from showing when the 'draw_actor_morale' is showing, just by exiting when an inappropriate battler is detected.  I don't know if your method to draw the morale stat and the morale bar are combined in one... though that would make it SO convenient.

An increase or decrease of the morale stat could be just as simple:
Code:
# Assume morale change is permitted
    allow_morale = true

    # Test if the actor or enemy doesn't change morale
    if target.is_a?(Game_Actor)
      allow_morale = false if IGNORE_ACTOR.include?(target.id)
    else
      allow_morale = false if IGNORE_ENEMY.include?(target.id)
    end

    # Change the morale if permitted
    if allow_morale == true
      target.morale += morale_change_value
    end

Of course, this is conjecture as I don't see your code and the above clode assumes you (the developer) may pick and choose what actors and/or enemies have morale.

Winking It would be entertaining if an enemy's morale drops so badly he ESCAPES from combat!
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png] [Image: liM4ikn.png] [Image: fdzKgZA.png] [Image: sj0H81z.png]
[Image: QL7oRau.png] [Image: uSqjY09.png] [Image: GAA3qE9.png] [Image: 2Hmnx1G.png] [Image: BwtNdKw.png%5B]
Above are clickable links

Reply }


Messages In This Thread
Actors & enemies without Morale - by Bennerdeben - 07-01-2023, 05:17 PM
RE: Actors & enemies without Morale - by DerVVulfman - 07-02-2023, 01:52 AM
RE: Actors & enemies without Morale - by kyonides - 07-02-2023, 02:13 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
   Lycan abs - Making enemies flee on sight ChickenFetus 1 4,015 06-07-2016, 04:39 AM
Last Post: DerVVulfman
   Jumping Enemies? Bounty Hunter Lani 2 4,758 01-17-2015, 06:58 AM
Last Post: Bounty Hunter Lani
   Help with Computer controlled actors and AIBC ZeroSum 12 12,641 08-14-2013, 06:36 AM
Last Post: Ryaryu
   Possible to move battle actors when escaping? NewHope 8 12,564 07-27-2012, 06:14 AM
Last Post: NewHope
   2 or more drops from enemies -Luke- 12 12,636 03-12-2010, 02:57 AM
Last Post: fgsfds
   Getting actors name? PK8 0 3,737 07-13-2009, 06:35 PM
Last Post: PK8



Users browsing this thread: