1 |
function scr_damage_determination_enemyscr_damage_determination_enemyfunction scr_damage_determination_enemy(arg0)
{
if (live_call())
return global.live_result;
switch (arg0)
{
case "Gun Single":
global.attacking_damage_stat_betrayal = global.current_hp_enemy;
global.attacking_damage_stat_critical = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + 2) * 2.5);
r = random_range(0, 2);
switch (shot_type)
{
case "strong":
b = 2.5;
break;
case "medium":
b = 2;
break;
default:
b = 1.5;
}
global.attacking_damage_stat = round((((global.player_weapon_attack + global.player_attack) - global.enemy_defense_stat) + r) * b);
break;
case "Gun Multi":
global.attacking_damage_stat_betrayal = global.current_hp_enemy;
global.attacking_damage_stat_critical = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + 2) * 2.5);
r = random_range(0, 2);
b = 1.5;
var b_diff = 1 / circle_count;
var st_temp;
for (st_temp = shot_total; st_temp > 3; st_temp -= 3)
b += b_diff;
switch (st_temp)
{
case 3:
b += b_diff;
break;
case 2:
b += (0.8 * b_diff);
break;
default:
b += (0.6 * b_diff);
}
global.attacking_damage_stat = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + r) * clamp(b, 1.5, 3));
break;
case "Revolver Single":
global.attacking_damage_stat_betrayal = global.current_hp_enemy;
global.attacking_damage_stat_critical = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + 2) * 3.5);
r = random_range(0, 2);
b = 0;
var b_inc = 0.5833333333333334;
switch (shot_type)
{
case "strong":
b += b_inc;
break;
case "medium":
b += (b_inc * 0.5);
break;
default:
b = 0;
}
var st_temp;
for (st_temp = shot_total_pre; st_temp > 3; st_temp -= 3)
b += b_inc;
switch (st_temp)
{
case 3:
b += b_inc;
break;
case 2:
b += (b_inc * 0.5);
break;
default:
b += 0;
}
global.attacking_damage_stat = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + r) * b);
break;
case "Revolver Multi":
global.attacking_damage_stat_betrayal = global.current_hp_enemy;
global.attacking_damage_stat_critical = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + 2) * 3.5);
r = random_range(0, 2);
b = 0;
var b_inc = 0.5833333333333334;
var st_temp;
for (st_temp = shot_total; st_temp > 3; st_temp -= 3)
b += b_inc;
switch (st_temp)
{
case 3:
b += b_inc;
break;
case 2:
b += (b_inc / 2);
break;
default:
b += 0;
}
for (st_temp = shot_total_pre; st_temp > 3; st_temp -= 3)
b += b_inc;
switch (st_temp)
... (arg0) |
2 |
{ |
3 |
if (live_call()) |
4 |
return global.live_result; |
5 |
switch (arg0) |
6 |
{ |
7 |
case "Gun Single": |
8 |
global.attacking_damage_stat_betrayal = global.current_hp_enemy; |
9 |
global.attacking_damage_stat_critical = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + 2) * 2.5); |
10 |
r = random_range(0, 2); |
11 |
switch (shot_type) |
12 |
{ |
13 |
case "strong": |
14 |
b = 2.5; |
15 |
break; |
16 |
case "medium": |
17 |
b = 2; |
18 |
break; |
19 |
default: |
20 |
b = 1.5; |
21 |
} |
22 |
global.attacking_damage_stat = round((((global.player_weapon_attack + global.player_attack) - global.enemy_defense_stat) + r) * b); |
23 |
break; |
24 |
case "Gun Multi": |
25 |
global.attacking_damage_stat_betrayal = global.current_hp_enemy; |
26 |
global.attacking_damage_stat_critical = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + 2) * 2.5); |
27 |
r = random_range(0, 2); |
28 |
b = 1.5; |
29 |
var b_diff = 1 / circle_count; |
30 |
var st_temp; |
31 |
for (st_temp = shot_total; st_temp > 3; st_temp -= 3) |
32 |
b += b_diff; |
33 |
switch (st_temp) |
34 |
{ |
35 |
case 3: |
36 |
b += b_diff; |
37 |
break; |
38 |
case 2: |
39 |
b += (0.8 * b_diff); |
40 |
break; |
41 |
default: |
42 |
b += (0.6 * b_diff); |
43 |
} |
44 |
global.attacking_damage_stat = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + r) * clamp(b, 1.5, 3)); |
45 |
break; |
46 |
case "Revolver Single": |
47 |
global.attacking_damage_stat_betrayal = global.current_hp_enemy; |
48 |
global.attacking_damage_stat_critical = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + 2) * 3.5); |
49 |
r = random_range(0, 2); |
50 |
b = 0; |
51 |
var b_inc = 0.5833333333333334; |
52 |
switch (shot_type) |
53 |
{ |
54 |
case "strong": |
55 |
b += b_inc; |
56 |
break; |
57 |
case "medium": |
58 |
b += (b_inc * 0.5); |
59 |
break; |
60 |
default: |
61 |
b = 0; |
62 |
} |
63 |
var st_temp; |
64 |
for (st_temp = shot_total_pre; st_temp > 3; st_temp -= 3) |
65 |
b += b_inc; |
66 |
switch (st_temp) |
67 |
{ |
68 |
case 3: |
69 |
b += b_inc; |
70 |
break; |
71 |
case 2: |
72 |
b += (b_inc * 0.5); |
73 |
break; |
74 |
default: |
75 |
b += 0; |
76 |
} |
77 |
global.attacking_damage_stat = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + r) * b); |
78 |
break; |
79 |
case "Revolver Multi": |
80 |
global.attacking_damage_stat_betrayal = global.current_hp_enemy; |
81 |
global.attacking_damage_stat_critical = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + 2) * 3.5); |
82 |
r = random_range(0, 2); |
83 |
b = 0; |
84 |
var b_inc = 0.5833333333333334; |
85 |
var st_temp; |
86 |
for (st_temp = shot_total; st_temp > 3; st_temp -= 3) |
87 |
b += b_inc; |
88 |
switch (st_temp) |
89 |
{ |
90 |
case 3: |
91 |
b += b_inc; |
92 |
break; |
93 |
case 2: |
94 |
b += (b_inc / 2); |
95 |
break; |
96 |
default: |
97 |
b += 0; |
98 |
} |
99 |
for (st_temp = shot_total_pre; st_temp > 3; st_temp -= 3) |
100 |
b += b_inc; |
101 |
switch (st_temp) |
102 |
{ |
103 |
case 3: |
104 |
b += b_inc; |
105 |
break; |
106 |
case 2: |
107 |
b += (b_inc / 2); |
108 |
break; |
109 |
default: |
110 |
b += 0; |
111 |
} |
112 |
show_debug_message(b); |
113 |
global.attacking_damage_stat = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + r) * b); |
114 |
break; |
115 |
default: |
116 |
global.attacking_damage_stat_betrayal = global.current_hp_enemy; |
117 |
global.attacking_damage_stat_critical = round((((global.player_weapon_attack + global.player_weapon_modifier_attack + global.player_attack) - global.enemy_defense_stat) + 2) * 2.2); |
118 |
r = random_range(0, 2); |
119 |
if (x == 319) |
120 |
b = 2.2; |
121 |
else |
122 |
b = abs(x - 319) / (obj_target_battle.sprite_width / 2); |
123 |
global.attacking_damage_stat = round((((global.player_weapon_attack + global.player_attack) - global.enemy_defense_stat) + r) * b); |
124 |
} |
125 |
if (global.attacking_damage_cap >= 0) |
126 |
{ |
127 |
if (global.attacking_damage_stat > global.attacking_damage_cap) |
128 |
global.attacking_damage_stat = global.attacking_damage_cap; |
129 |
if (global.attacking_damage_stat_critical > global.attacking_damage_cap) |
130 |
global.attacking_damage_stat_critical = global.attacking_damage_cap; |
131 |
} |
132 |
if (global.attacking_damage_stat < 5) |
133 |
global.attacking_damage_stat = 5; |
134 |
if (global.attacking_damage_stat_critical < 5) |
135 |
global.attacking_damage_stat_critical = 5; |
136 |
if (button_pressed == true) |
137 |
{ |
138 |
if (global.enemy_sparing == true && global.enemy_vulnerable == true) |
139 |
{ |
140 |
global.last_hp_enemy = global.current_hp_enemy; |
141 |
global.current_hp_enemy = 0; |
142 |
global.enemy_betrayed = true; |
143 |
damage_type = "betrayed"; |
144 |
instance_create(global.enemy_damage_x, global.enemy_damage_y, obj_text_damage_count); |
145 |
audio_play_sound(snd_monster_damage_hit_critical, 20, false); |
146 |
} |
147 |
else if (global.enemy_vulnerable == true) |
148 |
{ |
149 |
if ((arg0 == "Knife Single" && x == 319) || ((arg0 == "Gun Single" || arg0 == "Revolver Single") && b == 3.5) || ((arg0 == "Gun Multi" || arg0 == "Revolver Multi") && b == 3.5) || global.current_hp_enemy <= global.attacking_damage_stat_critical) |
150 |
{ |
151 |
global.last_hp_enemy = global.current_hp_enemy; |
152 |
global.current_hp_enemy -= global.attacking_damage_stat_critical; |
153 |
damage_type = "critical"; |
154 |
instance_create(global.enemy_damage_x, global.enemy_damage_y, obj_text_damage_count); |
155 |
audio_play_sound(snd_monster_damage_hit_critical, 20, false); |
156 |
} |
157 |
else |
158 |
{ |
159 |
global.last_hp_enemy = global.current_hp_enemy; |
160 |
global.current_hp_enemy -= global.attacking_damage_stat; |
161 |
damage_type = "normal"; |
162 |
instance_create(global.enemy_damage_x, global.enemy_damage_y, obj_text_damage_count); |
163 |
audio_play_sound(snd_monster_damage_hit, 20, false); |
164 |
} |
165 |
} |
166 |
else |
167 |
{ |
168 |
instance_create(global.enemy_damage_x, global.enemy_damage_y, obj_text_miss); |
169 |
} |
170 |
} |
171 |
else |
172 |
{ |
173 |
instance_create(global.enemy_damage_x, global.enemy_damage_y, obj_text_miss); |
174 |
} |
175 |
instance_create(0, 0, obj_battle_enemy_attacking_code); |
176 |
if (instance_exists(obj_text_damage_count)) |
177 |
{ |
178 |
instance_create(obj_text_damage_count.x - 52, obj_text_damage_count.y + 26, obj_battle_hp_current_enemy_attacking); |
179 |
instance_create(obj_text_damage_count.x - 52, obj_text_damage_count.y + 26, obj_battle_hp_previous_enemy_attacking); |
180 |
instance_create(obj_text_damage_count.x - 52, obj_text_damage_count.y + 26, obj_battle_hp_max_enemy_attacking); |
181 |
} |
182 |
scr_determine_can_display_damage_uiscr_determine_can_display_damage_uifunction scr_determine_can_display_damage_ui(arg0)
{
hp_ui_alpha = 1;
damage_ui_alpha = 1;
miss_ui_alpha = 1;
if (arg0 == 1)
{
var game_mode = global.game_mode;
var battle_enemy_name = global.battle_enemy_name;
if (global.game_mode == "customs")
{
switch (battle_enemy_name)
{
default:
}
}
else if (global.game_mode == "yellow")
{
switch (battle_enemy_name)
{
case "dummy training pacifist":
hp_ui_alpha = 0;
damage_ui_alpha = 0;
break;
default:
}
}
}
if (arg0 == 2)
{
var game_mode = global.game_mode;
var battle_enemy_name = global.battle_enemy_name_2;
if (global.game_mode == "customs")
{
switch (battle_enemy_name)
{
default:
}
}
else if (global.game_mode == "yellow")
{
switch (battle_enemy_name)
{
default:
}
}
}
if (arg0 == 3)
{
var game_mode = global.game_mode;
var battle_enemy_name = global.battle_enemy_name_3;
if (global.game_mode == "customs")
{
switch (battle_enemy_name)
{
default:
}
}
else if (global.game_mode == "yellow")
{
switch (battle_enemy_name)
{
default:
}
}
}
if (instance_exists(obj_battle_hp_enemy_attacking_parent))
{
with (obj_battle_hp_enemy_attacking_parent)
image_alpha = obj_target_bar_battle.hp_ui_alpha;
}
if (instance_exists(obj_text_damage_count))
{
with (obj_text_damage_count)
image_alpha = obj_target_bar_battle.damage_ui_alpha;
}
if (instance_exists(obj_text_miss))
{
with (obj_text_miss)
image_alpha = obj_target_bar_battle.miss_ui_alpha;
}
} (1); |
183 |
if (global.current_hp_enemy <= global.attacking_damage_stat_critical && instance_exists(obj_text_damage_count)) |
184 |
global.enemy_low_hp = true; |
185 |
if (instance_exists(obj_text_fighting_parent)) |
186 |
script_execute(scr_determine_attack_bonus); |
187 |
} |