You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			97 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			GDScript
		
	
			
		
		
	
	
			97 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			GDScript
		
	
| extends Node3D
 | |
| class_name Status
 | |
| 
 | |
| @export_category("实体属性")
 | |
| @export var id: int #id
 | |
| @export var owner_id: int #所有者id
 | |
| @export var team: Enum.ETeam #队伍
 | |
| @export_category("静态属性")
 | |
| @export var cfg: CharacterCfg #配置表
 | |
| @export var height: float # 受击框高度
 | |
| @export var radius: float # 受击框半径
 | |
| @export_category("战斗状态")
 | |
| @export var hp: float #当前血量
 | |
| @export var hp_max: float #血量最大值
 | |
| @export var shield: float #当前护盾
 | |
| @export var shield_max: float #护盾最大值
 | |
| @export var stun: float #当前眩晕值
 | |
| @export var stun_max: float #眩晕值最大值
 | |
| @export var mp: int #mp最大值
 | |
| @export var mp_max: int #mp最大值
 | |
| @export var mp_sub: float #次级mp
 | |
| @export var mp_sub_max: float #次级mp最大值
 | |
| @export var is_dead: bool #是否死亡
 | |
| @export var target: int #目标角色
 | |
| @export_category("表现状态")
 | |
| @export var basic_offset: Vector3 #基本偏移值
 | |
| @export var shake_offset: Vector3 #抖动偏移值
 | |
| @export var ui_offset: Vector3 #ui挂点偏移值
 | |
| @export var ui_center_offset: Vector3 #ui中心挂点偏移值
 | |
| @export var is_pause: bool #是否暂停
 | |
| @export var flash_white_rate: float  #闪白比例
 | |
| @export var deformation_dir: Vector2  #形变方向
 | |
| @export var deformation_rate: float  #形变比例
 | |
| @export_category("移动状态")
 | |
| @export var move_dir: Vector2 #移动方向
 | |
| @export var speed_dir: Vector2 #速度方向
 | |
| @export var velocity_change: Vector3 #一帧内速度变化值
 | |
| @export var speed_down_push_rate: float #来自软阻挡的速度减少比率
 | |
| @export var speed_up_rate: float #移动速度比率
 | |
| @export var speed_xz: float #水平移动速度
 | |
| @export var speed_y: float #竖直移动速度
 | |
| @export var is_free_control: bool = true #是否可以自由控制
 | |
| @export var is_on_floor: bool #是否在地面
 | |
| @export var is_free_turn: bool = true #是否允许转向
 | |
| @export var is_right: bool = true #是否向右
 | |
| @export var is_jumping: bool #是否正在跳跃
 | |
| @export var is_jumped: bool #是否已跳跃
 | |
| @export_category("buff状态")
 | |
| @export var is_stagger: bool #是否硬直
 | |
| @export var is_stun: bool #是否眩晕
 | |
| @export var is_floating: bool #是否正在浮空
 | |
| @export var is_rising: bool #是否正在开始浮空
 | |
| @export var hit_back_dir: Vector2 #击退方向
 | |
| @export var hit_back_speed: float #击退速度
 | |
| @export var hit_up_speed: float #击飞速度
 | |
| @export var pause_time: float #卡帧时间
 | |
| @export_category("技能状态")
 | |
| @export var skill_cfg: SkillCfg #当前技能
 | |
| @export var is_skill_running: bool #技能是否正在释放
 | |
| @export var skill_dir: Vector2 #技能释放方向
 | |
| @export var skill_move_speed: float #技能位移速度
 | |
| @export var skill_move_stop: bool #技能位移速度是否停止生效
 | |
| @export var skill_float_speed: float #技能y位移速度
 | |
| @export_category("玩家技能状态")
 | |
| @export var input_dir: Vector2 #指令方向
 | |
| @export var stance: Enum.EStance #技能姿态
 | |
| @export var break_level: Enum.EBreakLevel #打断等级
 | |
| @export var weapon_list: Array[Variant] = [] #武器列表
 | |
| @export var weapon_index: int #当前武器下标
 | |
| @export var weapon_index_change_dir: int #武器下标操作变化方向
 | |
| @export var weapon_index_change_rate: float #武器下标操作变化进度
 | |
| @export var core_active_list: Array[Variant] = [] #主动核心列表 4free 4lock
 | |
| @export var core_passive_list: Array[Variant] = [] #被动核心列表
 | |
| @export var is_switch: bool #是否切换到核心释放模式
 | |
| @export_category("动画触发器")
 | |
| @export var trigger_jump: bool #跳跃
 | |
| @export var trigger_hit: bool #受击-地面-轻
 | |
| @export var trigger_mhit: bool #受击-地面-中
 | |
| @export var trigger_lhit: bool #受击-地面-重
 | |
| @export var trigger_air_hit_up: bool #受击-空中受击-向上
 | |
| @export var trigger_air_hit_down: bool #受击-空中受击-向上
 | |
| @export var trigger_rebound: bool #受击-反弹
 | |
| @export var trigger_stun_hit: bool #受击-眩晕
 | |
| 
 | |
| 
 | |
| func get_status(status_name: String) -> Variant: return get(status_name)
 | |
| 
 | |
| 
 | |
| func set_status(status_name: String, value):
 | |
|     set(status_name, value)
 | |
|     SignalManager.character_status_changed.emit(id, status_name, value)
 | |
| 
 | |
| 
 | |
| func emit_status(status_name: String):
 | |
|     SignalManager.character_status_changed.emit(id, status_name, get_status(status_name))
 | |
|     
 |