]> vgcfreebox.myrthtech.pt Git - gm-duelo.git/blob - objects/obj_player/Step_0.gml
player object
[gm-duelo.git] / objects / obj_player / Step_0.gml
1 if(_game_state = GAME_STATES.WAITING){
2 if(object_exists(obj_game_controller)){
3 if(_up or _down or _left or _right or _melee_atk or _range_atk){
4 if player_id == 0 obj_game_controller._p1_ready = true;
5 if player_id == 1 obj_game_controller._p2_ready = true;
6 }
7 }
8 }
9
10 if(_game_state = GAME_STATES.HERO_SELECTION){
11 var _max_char = array_length(global._characters)-1;
12 if(_right and alarm[0] = -1 and _selected_char == noone){_char_select_index++; alarm[0] = room_speed/4}
13 if(_left and alarm[0] = -1 and _selected_char == noone){_char_select_index--; alarm[0] = room_speed/4}
14 if(player_id == 0){ // for debug
15 if(_up and alarm[0] = -1){obj_game_controller._scenary_selected_index++; alarm[0] = room_speed/4}
16 if(_down and alarm[0] = -1){obj_game_controller._scenary_selected_index--; alarm[0] = room_speed/4}
17 }
18 if _char_select_index < 0 _char_select_index = _max_char;
19 if _char_select_index > _max_char _char_select_index = 0;
20
21 if _melee_atk and player_id == 0 {
22 _selected_char = global._characters[_char_select_index];
23 obj_game_controller._p1_selected_char = _selected_char;
24 fetch_my_attr(_selected_char);
25 }else if _melee_atk and player_id == 1 {
26 _selected_char = global._characters[_char_select_index];
27 obj_game_controller._p2_selected_char = _selected_char;
28 fetch_my_attr(_selected_char); // to remove
29 }
30 if(_range_atk and _selected_char != noone){
31 _selected_char = noone;
32 if player_id == 0 obj_game_controller._p1_selected_char = noone;
33 if player_id == 1 obj_game_controller._p2_selected_char = noone;
34 }
35 if( _special and player_id == 0 ){
36 _to_clear_my_data = get_string_async("Writte YES to clear your data","NO");
37 }
38 }
39
40 if(_game_state = GAME_STATES.FIGHTING){
41 if _health <= 0 _state = HERO.DEAD;
42 if player_id == 0 obj_game_controller._p1_hp = _health;
43 if player_id == 1 obj_game_controller._p2_hp = _health;
44
45 switch(_state){
46 case HERO.IDLE:
47 event_user(_state);
48 break;
49 case HERO.MOVE:
50 event_user(_state);
51 break;
52 case HERO.JUMP:
53 event_user(_state);
54 break;
55 case HERO.ATTACK:
56 event_user(_state);
57 break;
58 case HERO.WALL:
59 event_user(_state);
60 break;
61 case HERO.CROUCH:
62 event_user(_state);
63 break;
64 case HERO.SHOOT:
65 event_user(_state);
66 break;
67 case HERO.HIT:
68 event_user(_state);
69 break;
70 case HERO.DEAD:
71 event_user(_state);
72 break;
73 case HERO.ROLL:
74 event_user(_state);
75 break;
76 case HERO.EVASION:
77 event_user(_state);
78 break;
79 }
80
81 if _state != HERO.WALL _vsp += _grav; else _vsp = _wall_drag;
82 obj_wall_collisions();
83
84 // hit blink
85 if(alarm[3] != -1){
86 var _val = animcurve_channel_evaluate(_hit_blink, _hit_bk_val);
87 image_alpha = _val;
88 if _hit_bk_val > 1 _hit_bk_val = 0;else _hit_bk_val+=0.1;
89 }else{image_alpha = 1;}
90
91 x += _hsp;
92 y += _vsp;
93 }