Add project code

This commit is contained in:
Andrew Trieu
2025-04-20 15:57:23 +03:00
committed by Andrew Trieu
commit 3fbd0e4977
612 changed files with 11196 additions and 0 deletions

View File

@@ -0,0 +1,80 @@
function get_damaged(_dmg_obj, _iframes = false, _hurt_sprite = true){
var _hit_confirmed = false;
// Exit iframe timer
if _iframes && iframes_timer > 0 {
iframes_timer--;
if iframes_timer mod 5 == 0
{
if image_alpha == 1 {
image_alpha = 0;
} else {
image_alpha = 1;
}
}
hp = clamp(hp, 0, max_hp);
return _hit_confirmed;
}
if _iframes {
image_alpha = 1;
}
if place_meeting(x, y, _dmg_obj) || (_dmg_obj != o_all_hurt && place_meeting(x, y, o_all_hurt)) {
var _inst_list = ds_list_create();
instance_place_list(x, y, _dmg_obj, _inst_list, false);
if _dmg_obj != o_all_hurt {
instance_place_list(x, y, o_all_hurt, _inst_list, false);
}
var _list_size = ds_list_size(_inst_list);
for (var i = 0; i < _list_size; i++) {
var _inst = ds_list_find_value(_inst_list, i);
if _iframes || ds_list_find_index(dmg_list, _inst) == -1 {
if !_iframes {
ds_list_add(dmg_list, _inst);
}
hp -= _inst.damage;
_hit_confirmed = true;
_inst.hit_confirmed = true;
}
}
if _iframes && _hit_confirmed {
iframes_timer = iframes_number;
}
ds_list_destroy( _inst_list);
if _hurt_sprite {
if hp > 0 && sprite_index != sprites[3] {
sprite_index = sprites[3];
}
}
}
if !_iframes {
var _dmg_list_size = ds_list_size(dmg_list);
for (var i = 0; i < _dmg_list_size; i++) {
var _inst = ds_list_find_value(dmg_list, i);
if !instance_exists(_inst) || !place_meeting(x, y, _inst) {
ds_list_delete(dmg_list, i);
i--;
_dmg_list_size--;
}
}
}
hp = clamp(hp, 0, max_hp);
return _hit_confirmed;
}

13
scripts/get_damaged/get_damaged.yy generated Normal file
View File

@@ -0,0 +1,13 @@
{
"$GMScript":"v1",
"%Name":"get_damaged",
"isCompatibility":false,
"isDnD":false,
"name":"get_damaged",
"parent":{
"name":"Scripts",
"path":"folders/Scripts.yy",
},
"resourceType":"GMScript",
"resourceVersion":"2.0",
}