Class: Game_Vehicle
- Inherits:
-
Game_Character
- Object
- Game_CharacterBase
- Game_Character
- Game_Vehicle
- Defined in:
- lib/rgss3_default_scripts/Game_Vehicle.rb
Overview
** Game_Vehicle
This class handles vehicles. It's used within the Game_Map class. If there
are no vehicles on the current map, the coordinates are set to (-1,-1).
Constant Summary
Constants inherited from Game_Character
Game_Character::ROUTE_CHANGE_BLENDING, Game_Character::ROUTE_CHANGE_FREQ, Game_Character::ROUTE_CHANGE_GRAPHIC, Game_Character::ROUTE_CHANGE_OPACITY, Game_Character::ROUTE_CHANGE_SPEED, Game_Character::ROUTE_DIR_FIX_OFF, Game_Character::ROUTE_DIR_FIX_ON, Game_Character::ROUTE_END, Game_Character::ROUTE_JUMP, Game_Character::ROUTE_MOVE_AWAY, Game_Character::ROUTE_MOVE_BACKWARD, Game_Character::ROUTE_MOVE_DOWN, Game_Character::ROUTE_MOVE_FORWARD, Game_Character::ROUTE_MOVE_LEFT, Game_Character::ROUTE_MOVE_LOWER_L, Game_Character::ROUTE_MOVE_LOWER_R, Game_Character::ROUTE_MOVE_RANDOM, Game_Character::ROUTE_MOVE_RIGHT, Game_Character::ROUTE_MOVE_TOWARD, Game_Character::ROUTE_MOVE_UP, Game_Character::ROUTE_MOVE_UPPER_L, Game_Character::ROUTE_MOVE_UPPER_R, Game_Character::ROUTE_PLAY_SE, Game_Character::ROUTE_SCRIPT, Game_Character::ROUTE_STEP_ANIME_OFF, Game_Character::ROUTE_STEP_ANIME_ON, Game_Character::ROUTE_SWITCH_OFF, Game_Character::ROUTE_SWITCH_ON, Game_Character::ROUTE_THROUGH_OFF, Game_Character::ROUTE_THROUGH_ON, Game_Character::ROUTE_TRANSPARENT_OFF, Game_Character::ROUTE_TRANSPARENT_ON, Game_Character::ROUTE_TURN_180D, Game_Character::ROUTE_TURN_90D_L, Game_Character::ROUTE_TURN_90D_R, Game_Character::ROUTE_TURN_90D_R_L, Game_Character::ROUTE_TURN_AWAY, Game_Character::ROUTE_TURN_DOWN, Game_Character::ROUTE_TURN_LEFT, Game_Character::ROUTE_TURN_RANDOM, Game_Character::ROUTE_TURN_RIGHT, Game_Character::ROUTE_TURN_TOWARD, Game_Character::ROUTE_TURN_UP, Game_Character::ROUTE_WAIT, Game_Character::ROUTE_WALK_ANIME_OFF, Game_Character::ROUTE_WALK_ANIME_ON
Instance Attribute Summary collapse
-
#altitude ⇒ Object
readonly
————————————————————————– * Public Instance Variables ————————————————————————–.
-
#driving ⇒ Object
readonly
driving flag.
Attributes inherited from Game_Character
Attributes inherited from Game_CharacterBase
#animation_id, #balloon_id, #blend_type, #bush_depth, #character_index, #character_name, #direction, #direction_fix, #id, #move_frequency, #move_speed, #opacity, #pattern, #priority_type, #real_x, #real_y, #step_anime, #through, #tile_id, #walk_anime, #x, #y
Instance Method Summary collapse
-
#get_off ⇒ Object
————————————————————————– * Get Off Vehicle ————————————————————————–.
-
#get_on ⇒ Object
————————————————————————– * Board Vehicle ————————————————————————–.
-
#init_move_speed ⇒ Object
————————————————————————– * Initialize Move Speed ————————————————————————–.
-
#initialize(type) ⇒ Game_Vehicle
constructor
————————————————————————– * Object Initialization type: vehicle type (:boat, :ship, :airship) ————————————————————————–.
-
#land_ok?(x, y, d) ⇒ Boolean
————————————————————————– * Determine if Docking/Landing Is Possible d: Direction (2,4,6,8) ————————————————————————–.
-
#load_system_settings ⇒ Object
————————————————————————– * Load System Settings ————————————————————————–.
-
#max_altitude ⇒ Object
————————————————————————– * Get Maximum Altitude of Airship ————————————————————————–.
-
#movable? ⇒ Boolean
————————————————————————– * Determine if Movement is Possible ————————————————————————–.
-
#pos?(x, y) ⇒ Boolean
————————————————————————– * Determine Coordinate Match ————————————————————————–.
-
#refresh ⇒ Object
————————————————————————– * Refresh ————————————————————————–.
-
#screen_y ⇒ Object
————————————————————————– * Get Screen Y-Coordinates ————————————————————————–.
-
#set_location(map_id, x, y) ⇒ Object
————————————————————————– * Change Position ————————————————————————–.
-
#speed ⇒ Object
————————————————————————– * Get Move Speed ————————————————————————–.
-
#sync_with_player ⇒ Object
————————————————————————– * Synchronize With Player ————————————————————————–.
-
#system_vehicle ⇒ Object
————————————————————————– * Get System Settings ————————————————————————–.
-
#takeoff_ok? ⇒ Boolean
————————————————————————– * Determine if Takeoff Is Possible ————————————————————————–.
-
#transparent ⇒ Object
————————————————————————– * Determine Transparency ————————————————————————–.
-
#update ⇒ Object
————————————————————————– * Frame Update ————————————————————————–.
-
#update_airship_altitude ⇒ Object
————————————————————————– * Update Airship Altitude ————————————————————————–.
Methods inherited from Game_Character
#advance_move_route_index, #distance_x_from, #distance_y_from, #force_move_route, #init_private_members, #init_public_members, #jump, #memorize_move_route, #move_away_from_character, #move_away_from_player, #move_backward, #move_forward, #move_random, #move_toward_character, #move_toward_player, #process_move_command, #process_route_end, #restore_move_route, #swap, #turn_180, #turn_away_from_character, #turn_away_from_player, #turn_left_90, #turn_random, #turn_right_90, #turn_right_or_left_90, #turn_toward_character, #turn_toward_player, #update_routine_move, #update_stop
Methods inherited from Game_CharacterBase
#bush?, #check_event_trigger_touch, #check_event_trigger_touch_front, #collide_with_characters?, #collide_with_events?, #collide_with_vehicles?, #dash?, #debug_through?, #diagonal_passable?, #distance_per_frame, #increase_steps, #init_private_members, #init_public_members, #jump_height, #jumping?, #ladder?, #map_passable?, #move_diagonal, #move_straight, #moveto, #moving?, #normal_priority?, #object_character?, #passable?, #pos_nt?, #real_move_speed, #region_id, #reverse_dir, #screen_x, #screen_z, #set_direction, #set_graphic, #shift_y, #stopping?, #straighten, #terrain_tag, #tile?, #update_animation, #update_anime_count, #update_anime_pattern, #update_bush_depth, #update_jump, #update_move, #update_stop
Constructor Details
#initialize(type) ⇒ Game_Vehicle
-
Object Initialization
type: vehicle type (:boat, :ship, :airship)
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 18 def initialize(type) super() @type = type @altitude = 0 @driving = false @direction = 4 @walk_anime = false @step_anime = false @walking_bgm = nil init_move_speed load_system_settings end |
Instance Attribute Details
#altitude ⇒ Object (readonly)
-
Public Instance Variables
12 13 14 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 12 def altitude @altitude end |
#driving ⇒ Object (readonly)
driving flag
13 14 15 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 13 def driving @driving end |
Instance Method Details
#get_off ⇒ Object
-
Get Off Vehicle
108 109 110 111 112 113 114 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 108 def get_off @driving = false @walk_anime = false @step_anime = false @direction = 4 @walking_bgm.play end |
#get_on ⇒ Object
-
Board Vehicle
98 99 100 101 102 103 104 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 98 def get_on @driving = true @walk_anime = true @step_anime = true @walking_bgm = RPG::BGM.last system_vehicle.bgm.play end |
#init_move_speed ⇒ Object
-
Initialize Move Speed
33 34 35 36 37 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 33 def init_move_speed @move_speed = 4 if @type == :boat @move_speed = 5 if @type == :ship @move_speed = 6 if @type == :airship end |
#land_ok?(x, y, d) ⇒ Boolean
-
Determine if Docking/Landing Is Possible
d: Direction (2,4,6,8)
180 181 182 183 184 185 186 187 188 189 190 191 192 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 180 def land_ok?(x, y, d) if @type == :airship return false unless $game_map.airship_land_ok?(x, y) return false unless $game_map.events_xy(x, y).empty? else x2 = $game_map.round_x_with_direction(x, d) y2 = $game_map.round_y_with_direction(y, d) return false unless $game_map.valid?(x2, y2) return false unless $game_map.passable?(x2, y2, reverse_dir(d)) return false if collide_with_characters?(x2, y2) end return true end |
#load_system_settings ⇒ Object
-
Load System Settings
50 51 52 53 54 55 56 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 50 def load_system_settings @map_id = system_vehicle.start_map_id @x = system_vehicle.start_x @y = system_vehicle.start_y @character_name = system_vehicle.character_name @character_index = system_vehicle.character_index end |
#max_altitude ⇒ Object
-
Get Maximum Altitude of Airship
167 168 169 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 167 def max_altitude return 32 end |
#movable? ⇒ Boolean
-
Determine if Movement is Possible
141 142 143 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 141 def movable? !moving? && !(@type == :airship && @altitude < max_altitude) end |
#pos?(x, y) ⇒ Boolean
-
Determine Coordinate Match
86 87 88 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 86 def pos?(x, y) @map_id == $game_map.map_id && super(x, y) end |
#refresh ⇒ Object
-
Refresh
60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 60 def refresh if @driving @map_id = $game_map.map_id sync_with_player elsif @map_id == $game_map.map_id moveto(@x, @y) end if @type == :airship @priority_type = @driving ? 2 : 0 else @priority_type = 1 end @walk_anime = @step_anime = @driving end |
#screen_y ⇒ Object
-
Get Screen Y-Coordinates
135 136 137 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 135 def screen_y super - altitude end |
#set_location(map_id, x, y) ⇒ Object
-
Change Position
77 78 79 80 81 82 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 77 def set_location(map_id, x, y) @map_id = map_id @x = x @y = y refresh end |
#speed ⇒ Object
-
Get Move Speed
129 130 131 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 129 def speed @move_speed end |
#sync_with_player ⇒ Object
-
Synchronize With Player
118 119 120 121 122 123 124 125 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 118 def sync_with_player @x = $game_player.x @y = $game_player.y @real_x = $game_player.real_x @real_y = $game_player.real_y @direction = $game_player.direction update_bush_depth end |
#system_vehicle ⇒ Object
-
Get System Settings
41 42 43 44 45 46 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 41 def system_vehicle return $data_system.boat if @type == :boat return $data_system.ship if @type == :ship return $data_system.airship if @type == :airship return nil end |
#takeoff_ok? ⇒ Boolean
-
Determine if Takeoff Is Possible
173 174 175 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 173 def takeoff_ok? $game_player.followers.gather? end |
#transparent ⇒ Object
-
Determine Transparency
92 93 94 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 92 def transparent @map_id != $game_map.map_id || super end |
#update ⇒ Object
-
Frame Update
147 148 149 150 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 147 def update super update_airship_altitude if @type == :airship end |
#update_airship_altitude ⇒ Object
-
Update Airship Altitude
154 155 156 157 158 159 160 161 162 163 |
# File 'lib/rgss3_default_scripts/Game_Vehicle.rb', line 154 def update_airship_altitude if @driving @altitude += 1 if @altitude < max_altitude && takeoff_ok? elsif @altitude > 0 @altitude -= 1 @priority_type = 0 if @altitude == 0 end @step_anime = (@altitude == max_altitude) @priority_type = 2 if @altitude > 0 end |