SHOW:
|
|
- or go back to the newest paste.
| 1 | var list, col, ins, hit; | |
| 2 | ||
| 3 | hit=false | |
| 4 | list=ds_list_create();//create list | |
| 5 | col=instance_place_list(x,y,all,list,true);//list all collissions | |
| 6 | ||
| 7 | ||
| 8 | for(i = 0; i<col; i+=1){
| |
| 9 | ins = ds_list_find_value(list,i); | |
| 10 | ||
| 11 | if(variable_instance_exists(ins,"game_health") and ins != id){//check if instance has health
| |
| 12 | if(variable_instance_exists(ins,"game_shield")){//check if instance has shield
| |
| 13 | if(ins.game_shield>argument0){//check if shield is above 0
| |
| 14 | ins.game_shield-=argument0//damage shield | |
| 15 | hit=true | |
| 16 | }else{//if shield = 0 or below
| |
| 17 | ins.game_health-=argument0//damage health | |
| 18 | hit=true | |
| 19 | } | |
| 20 | }else{
| |
| 21 | ins.game_health-=argument0//if no shield, damage health | |
| 22 | hit=true | |
| 23 | } | |
| 24 | } | |
| 25 | } | |
| 26 | ||
| 27 | ds_list_destroy(list)//destroy list | |
| 28 | ||
| 29 | return(hit)//return if an instance has been "damaged" |