Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
137 changes: 137 additions & 0 deletions objects/obj_controller/Step_0.gml
Original file line number Diff line number Diff line change
Expand Up @@ -545,12 +545,149 @@ try {
temp[117] = unit.ranged_attack();
// Damage Resistance
temp[118] = string(damage_res) + "%";
temp[130] = "Health damage taken by the marine is reduced by this percentage. This happens after the flat reduction from armor.\n\nContributing factors:\n";
var equipment_types = ["armour", "weapon_one", "weapon_two", "mobility", "gear"];
for (var i = 0; i < array_length(equipment_types); i++) {
var equipment_type = equipment_types[i];
var dr = 0;
var name = "";
switch (equipment_type) {
case "armour":
dr = unit.get_armour_data("damage_resistance_mod");
name = unit.get_armour_data("name");
break;
case "weapon_one":
dr = unit.get_weapon_one_data("damage_resistance_mod");
name = unit.get_weapon_one_data("name");
break;
case "weapon_two":
dr = unit.get_weapon_two_data("damage_resistance_mod");
name = unit.get_weapon_two_data("name");
break;
case "mobility":
dr = unit.get_mobility_data("damage_resistance_mod");
name = unit.get_mobility_data("name");
break;
case "gear":
dr = unit.get_gear_data("damage_resistance_mod");
name = unit.get_gear_data("name");
break;
}
if (dr != 0) {
temp[130] += $"{name}: {dr}%\n";
}
}
temp[130] += string("CON: {0}%\nEXP: {1}%", round(unit.constitution / 2), round(unit.experience / 10));
if (is_struct(temp[121])) {
try {
temp[121].destroy_image();
}
delete temp[121];
}
temp[124] = $"{round(unit.hp())}/{round(unit.max_health())}"; // Health Tracker
temp[125] = $"A measure how much punishment the creature can take. Marines can go into the negatives and still survive, but they'll require a bionic to become fighting fit once more.\n\nContributing factors:\nCON: {round(100 * (1 + ((unit.constitution - 40) * 0.025)))}\n";
for (var i = 0; i < array_length(equipment_types); i++) {
var equipment_type = equipment_types[i];
var hp_mod = 0;
var name = "";
switch (equipment_type) {
case "armour":
hp_mod = unit.get_armour_data("hp_mod");
name = unit.get_armour_data("name");
break;
case "weapon_one":
hp_mod = unit.get_weapon_one_data("hp_mod");
name = unit.get_weapon_one_data("name");
break;
case "weapon_two":
hp_mod = unit.get_weapon_two_data("hp_mod");
name = unit.get_weapon_two_data("name");
break;
case "mobility":
hp_mod = unit.get_mobility_data("hp_mod");
name = unit.get_mobility_data("name");
break;
case "gear":
hp_mod = unit.get_gear_data("hp_mod");
name = unit.get_gear_data("name");
break;
}
if (hp_mod != 0) {
temp[125] += $"{name}: {format_number_with_sign(hp_mod)}%\n";
}
}
temp[126] = $"{unit.armour_calc()}"; // Armour Rating
temp[127] = "Reduces incoming damage at a flat rate. Certain enemies may attack in ways that may bypass your armor entirely, for example power weapons and some warp sorceries.\n\nContributing factors:\n";
for (var i = 0; i < array_length(equipment_types); i++) {
var equipment_type = equipment_types[i];
var ac = 0;
var name = "";
switch (equipment_type) {
case "armour":
ac = unit.get_armour_data("armour_value");
name = unit.get_armour_data("name");
break;
case "weapon_one":
ac = unit.get_weapon_one_data("armour_value");
name = unit.get_weapon_one_data("name");
break;
case "weapon_two":
ac = unit.get_weapon_two_data("armour_value");
name = unit.get_weapon_two_data("name");
break;
case "mobility":
ac = unit.get_mobility_data("armour_value");
name = unit.get_mobility_data("name");
break;
case "gear":
ac = unit.get_gear_data("armour_value");
name = unit.get_gear_data("name");
break;
}
if (ac != 0) {
temp[127] += $"{name}: {ac}\n";
}
}
if (obj_controller.stc_bonus[1] == 5 || obj_controller.stc_bonus[2] == 3) {
temp[127] += $"STC Bonus: x1.05\n";
}
temp[128] = $"{unit.bionics}";
var _body_parts = ARR_body_parts;
var _body_parts_display = ARR_body_parts_display;
temp[129] = "Bionic Augmentation is something a unit can do to both enhance their capabilities, but also replace a missing limb to get back into the fight.";
temp[129] += "\nThere is a limit of 10 Bionic augmentations. After that the damage is so extensive that a marine requires a dreadnought to keep going.";
temp[129] += "\nFor everyone else? It's time for the emperor's mercy.";
temp[129] += "\n\nCurrent Bionic Augmentations:\n";
for (var part = 0; part < array_length(_body_parts); part++) {
if (struct_exists(unit.body[$ _body_parts[part]], "bionic")) {
var part_display = _body_parts_display[part];
temp[129] += $"Bionic {part_display}";
switch (part_display) {
case "Left Leg":
case "Right Leg":
temp[129] += $" (CON: +2 STR: +1 DEX: -2)\n";
break;
case "Left Eye":
case "Right Eye":
temp[129] += $" (CON: +1 WIS: +1 DEX: +1)\n";
break;
case "Left Arm":
case "Right Arm":
temp[129] += $" (CON: +2 STR: +2 WS: -1)\n";
break;
case "Torso":
temp[129] += $" (CON: +4 STR: +1 DEX: -1)\n";
break;
case "Throat":
temp[129] += $" (CHA: -1)\n";
break;
case "Jaw":
case "Head":
temp[129] += $" (CON: +1)\n";
break;
}
}
}
temp[121] = unit.draw_unit_image();

temp[122] = unit.handle_stat_growth();
Expand Down
2 changes: 1 addition & 1 deletion scripts/exp_and_exp_growth/exp_and_exp_growth.gml
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ function unit_stat_growth(grow_stat=false){
return undefined;
}
} else {
show_debug_message($"{total_traited}")
// show_debug_message($"{total_traited}")
return stat_gain_chances;

}
Expand Down
2 changes: 1 addition & 1 deletion scripts/scr_ComplexSet/scr_ComplexSet.gml
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ function ComplexSet(unit) constructor{

var armour_sampler = shader_get_sampler_index(armour_texture, "armour_texture");
texture_set_stage(armour_sampler, tex_texture);
show_debug_message($"{_tex_data.areas[t]}");
// show_debug_message($"{_tex_data.areas[t]}");
var _replace_col = shader_get_uniform(armour_texture, "replace_colour");
shader_set_uniform_f_array(_replace_col, _tex_data.areas[t]);
draw_sprite(_sprite,choice ?? 0,x_surface_offset,y_surface_offset);
Expand Down
2 changes: 1 addition & 1 deletion scripts/scr_complex_colour_kit/scr_complex_colour_kit.gml
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ function setup_complex_livery_shader(setup_role, game_setup=false, unit = "none"
} else {
shader_set_uniform_f_array(shader_get_uniform(full_livery_shader, "robes_colour_replace"), cloth_col);
}
show_debug_message(data_set);
// show_debug_message(data_set);
var _textures = {

}
Expand Down
2 changes: 1 addition & 1 deletion scripts/scr_controller_helpers/scr_controller_helpers.gml
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,6 @@ function basic_manage_settings() {
diplomacy = 0;
zoomed = 0;
view_squad = false;
scr_management(1);
management_buttons = {
squad_toggle: new UnitButtonObject({
style: "pixel",
Expand All @@ -166,6 +165,7 @@ function scr_toggle_manage() {
with(obj_controller) {
if (menu != 1) {
basic_manage_settings();
scr_management(1);
} else if (menu == 1) {
menu = 0;
hide_banner = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ function scr_draw_management_unit(selected, yy = 0, xx = 0, draw = true) {
var string_role = "";
var health_string = "";
var eventing = false;
jailed = false;
var jailed = false;
var impossible = !is_struct(display_unit[selected]) && !is_array(display_unit[selected]);
var is_man = false;
if (man[selected] == "man" && is_struct(display_unit[selected])) {
Expand Down
Loading