]> vgcfreebox.myrthtech.pt Git - gm-duelo.git/blob - objects/obj_player/Other_14.gml
game conroller objs
[gm-duelo.git] / objects / obj_player / Other_14.gml
1 /// @description WALL HANG / CLIMB
2 sprite_index = asset_get_index(string(_my_spr_hang));
3 image_speed = 0;
4 _grounded = false;
5
6 if(_right or _left){
7 _hsp=0;
8
9 //!place_meeting(x+6*image_xscale,y-14,obj_wall)
10 var _wall = collision_point(x+12*image_xscale,y-14,obj_wall,false,1);
11 if( _wall and not(_to_grab)){
12 if(_selected_char._name == "Casimiro"){
13 _wall_drag = 0;
14 }else{
15 //effect_create_below(ef_smokeup,x+14*image_xscale,y+4,0,c_grey);
16 part_particles_burst(global._ps_walk_ef,x+14*image_xscale,y-8,ps_walk_ef);
17 _wall_drag = 0.3;
18 }
19 }else if(_wall and _to_grab){
20 _wall_drag = 0;
21 //image_speed = 1;
22 }else{
23 _wall_drag = 2;
24 _to_grab = true;
25 }
26
27 }else{
28 _to_grab = false;
29 _state = HERO.IDLE;
30 }
31
32 if(place_meeting(x,y+_vsp,obj_wall)){
33 _to_grab = false;
34 _state = HERO.IDLE;
35 }
36
37 if(_up and alarm[0]=-1){
38 audio_play_sound(snd_jump,10,false);
39 _to_grab = false;
40 _state = HERO.JUMP;
41 _vsp = _jump;//+_jump/5;
42 _hsp = 3*image_xscale*_jump;
43 alarm[0] = _jump_timer;
44 }
45
46 if(!place_meeting(x+6*image_xscale,y+1,obj_wall)){
47 _to_grab = false;
48 _state = HERO.IDLE;
49 }