diff --git a/scripts/scr_enemy_ai_a/scr_enemy_ai_a.gml b/scripts/scr_enemy_ai_a/scr_enemy_ai_a.gml index c96621853c..cc6b9817c6 100644 --- a/scripts/scr_enemy_ai_a/scr_enemy_ai_a.gml +++ b/scripts/scr_enemy_ai_a/scr_enemy_ai_a.gml @@ -106,22 +106,22 @@ function scr_enemy_ai_a() { } - var run=0, stop; + var stop; var rand=0; var garrison_force=false, total_garrison=0; - for (run =1;run<=planets;run++){ + for (var _run =1;_run<=planets;_run++){ garrison_force=false; - var garrison = new GarrisonForce(p_operatives[run], true); - var sabatours = new GarrisonForce(p_operatives[run], true, "sabotage"); + var garrison = new GarrisonForce(p_operatives[_run], true); + var sabatours = new GarrisonForce(p_operatives[_run], true, "sabotage"); garrison_force = garrison.garrison_force; array_push(system_garrison, garrison); array_push(system_sabatours, sabatours); stop=0; - ensure_no_planet_negatives(run); + ensure_no_planet_negatives(_run); - planet_forces = planet_forces_array(run); + planet_forces = planet_forces_array(_run); if (planet_forces[eFACTION.Tyranids] < 4){ planet_forces[eFACTION.Tyranids] = 0; @@ -134,12 +134,12 @@ function scr_enemy_ai_a() { } } - if (array_length(present_forces) == 1 && !p_pdf[run]){// if there is only one faction with present forces the planet belongs ot that faction - p_owner[run] = present_forces[0]; + if (array_length(present_forces) == 1 && !p_pdf[_run]){// if there is only one faction with present forces the planet belongs ot that faction + p_owner[_run] = present_forces[0]; stop=1; } else if (planet_forces[eFACTION.Player]<=0) and (planet_forces[eFACTION.Ork]>0){//orks prevail over other factions - if (p_owner[run]==2 or p_owner[run]==6){ - p_owner[run]=eFACTION.Ork; + if (p_owner[_run]==2 or p_owner[_run]==6){ + p_owner[_run]=eFACTION.Ork; } } @@ -151,146 +151,150 @@ function scr_enemy_ai_a() { guard_attack="";pdf_attack="";ork_attack="";tau_attack="";traitors_attack="";csm_attack=""; eldar_attack="";tyranids_attack="";necrons_attack="";sisters_attack=""; - traitors_score=p_traitors[run]; - csm_score=p_chaos[run]; - tyranids_score=p_tyranids[run]; - necrons_score=p_necrons[run]; - sisters_score=p_sisters[run]; - // if (p_eldar[run]>0) then eldar_score=p_eldar[run]+1; + traitors_score=p_traitors[_run]; + csm_score=p_chaos[_run]; + tyranids_score=p_tyranids[_run]; + necrons_score=p_necrons[_run]; + sisters_score=p_sisters[_run]; + // if (p_eldar[_run]>0) then eldar_score=p_eldar[_run]+1; - if (p_tyranids[run]<4) then tyranids_score=0; - if (p_chaos[run]=6.1) and (p_tyranids[run]>0) then tyranids_score=p_tyranids[run]; - if (p_tau[run]=0) and (p_orks[run]=0) and (p_traitors[run]=0) and (p_chaos[run]=0) and (p_player[run]<=0) and (tyranids_score<5) and (p_necrons[run]=0) and (p_owner[run]=8) and (p_sisters[run]=0) then stop=1; + if (p_tyranids[_run]<4) then tyranids_score=0; + if (p_chaos[_run]=6.1) and (p_tyranids[_run]>0) then tyranids_score=p_tyranids[_run]; + if (p_tau[_run]=0) and (p_orks[_run]=0) and (p_traitors[_run]=0) and (p_chaos[_run]=0) and (p_player[_run]<=0) and (tyranids_score<5) and (p_necrons[_run]=0) and (p_owner[_run]=8) and (p_sisters[_run]=0) then stop=1; - if (p_orks[run]>0) and (p_sisters[run]>0) then stop=0; - var imperium_forces = ((p_guardsmen[run]>0) or (p_pdf[run]>0) or (p_sisters[run]>0)); - if (p_necrons[run]>=5 && imperium_forces) then stop=0; - if (p_tyranids[run]>=5 && imperium_forces) then stop=0; - if ((p_guardsmen[run]>0) or (p_sisters[run]>0)) and ((p_pdf[run]>0) or (p_tau[run]>0)) and (p_owner[run]=8) and (stop=1) then stop=0; + if (p_orks[_run]>0) and (p_sisters[_run]>0) then stop=0; + var imperium_forces = ((p_guardsmen[_run]>0) or (p_pdf[_run]>0) or (p_sisters[_run]>0)); + if (p_necrons[_run]>=5 && imperium_forces) then stop=0; + if (p_tyranids[_run]>=5 && imperium_forces) then stop=0; + if ((p_guardsmen[_run]>0) or (p_sisters[_run]>0)) and ((p_pdf[_run]>0) or (p_tau[_run]>0)) and (p_owner[_run]=8) and (stop=1) then stop=0; // Attack heretics whenever possible, even player controlled ones - if (p_player[run]+p_pdf[run]>0) and (p_guardsmen[run]>0) and (obj_controller.faction_status[2]="War") then stop=0; - if (p_player[run]+p_pdf[run]>0) and (p_sisters[run]>0) and (obj_controller.faction_status[5]="War") then stop=0; + if (p_player[_run]+p_pdf[_run]>0) and (p_guardsmen[_run]>0) and (obj_controller.faction_status[2]="War") then stop=0; + if (p_player[_run]+p_pdf[_run]>0) and (p_sisters[_run]>0) and (obj_controller.faction_status[5]="War") then stop=0; - if (p_tyranids[run]>0) and (stop!=1) and (p_owner[run]!=9){// This might have been causing the problem - /*if (p_tyranids[run]<5) and (p_guardsmen[run]>0){ - if (p_tyranids[run]=4) then p_guardsmen[run]=max(0,p_guardsmen[run]-100000); - if (p_tyranids[run]=3) then p_guardsmen[run]=max(0,p_guardsmen[run]-20000); - if (p_tyranids[run]=2) then p_guardsmen[run]=max(0,p_guardsmen[run]-5000); - if (p_tyranids[run]=1) then p_guardsmen[run]=max(0,p_guardsmen[run]-500); + if (p_tyranids[_run]>0) and (stop!=1) and (p_owner[_run]!=9){// This might have been causing the problem + /*if (p_tyranids[_run]<5) and (p_guardsmen[_run]>0){ + if (p_tyranids[_run]=4) then p_guardsmen[_run]=max(0,p_guardsmen[_run]-100000); + if (p_tyranids[_run]=3) then p_guardsmen[_run]=max(0,p_guardsmen[_run]-20000); + if (p_tyranids[_run]=2) then p_guardsmen[_run]=max(0,p_guardsmen[_run]-5000); + if (p_tyranids[_run]=1) then p_guardsmen[_run]=max(0,p_guardsmen[_run]-500); }*/ - if (p_tyranids[run]>=5) then tyranids_score=7; + if (p_tyranids[_run]>=5) then tyranids_score=7; } var pdf_with_player=false; - var pdf_loss_reduction=p_fortified[run]*0.001;//redues man loss from battle loss if higher defences - if (p_owner[run]!=8) && (p_owner[run]=1 ||obj_controller.faction_status[2]!="War") && (garrison_force){ + var pdf_loss_reduction=p_fortified[_run]*0.001;//redues man loss from battle loss if higher defences + if (p_owner[_run]!=8) && (p_owner[_run]=1 ||obj_controller.faction_status[2]!="War") && (garrison_force){ pdf_with_player = true; pdf_loss_reduction+=garrison.viable_garrison*0.0005; } - if (p_guardsmen[run]>0) and (stop!=1){ - if (p_guardsmen[run] < 500) { + if (p_guardsmen[_run]>0) and (stop!=1){ + if (p_guardsmen[_run] < 500) { guard_score = 0.1; - } else if (p_guardsmen[run] >= 100000000) { + } else if (p_guardsmen[_run] >= 100000000) { guard_score = 7; - } else if (p_guardsmen[run] >= 50000000) { + } else if (p_guardsmen[_run] >= 50000000) { guard_score = 6; - } else if (p_guardsmen[run] >= 15000000) { + } else if (p_guardsmen[_run] >= 15000000) { guard_score = 5; - } else if (p_guardsmen[run] >= 6000000) { + } else if (p_guardsmen[_run] >= 6000000) { guard_score = 4; - } else if (p_guardsmen[run] >= 1000000) { + } else if (p_guardsmen[_run] >= 1000000) { guard_score = 3; - } else if (p_guardsmen[run] >= 100000) { + } else if (p_guardsmen[_run] >= 100000) { guard_score = 2; - } else if (p_guardsmen[run] >= 2000) { + } else if (p_guardsmen[_run] >= 2000) { guard_score = 1; } else { guard_score = 0.5; } - guard_attack = guard_target_matrix(run); - if (guard_attack="tyranids") then tyranids_score=p_tyranids[run]; + guard_attack = guard_target_matrix(_run); + if (guard_attack="tyranids") then tyranids_score=p_tyranids[_run]; // Tend to prioritize traitors > Orks > Tau // Eldar don't get into pitched battles so nyuck nyuck nyuck } - if (((p_guardsmen[run]=0) or ((guard_score<=0.5))) or (p_owner[run]==8)) or ((p_guardsmen[run]>0) and (obj_controller.faction_status[2]="War")) and (p_pdf[run]>0) and (stop!=1){ + if (((p_guardsmen[_run]=0) or ((guard_score<=0.5))) or (p_owner[_run]==8)) or ((p_guardsmen[_run]>0) and (obj_controller.faction_status[2]=="War")) and (p_pdf[_run]>0) and (stop!=1){ var pdf_mod; - var defence_mult = p_fortified[run]*0.1; + var defence_mult = p_fortified[_run]*0.1; - if (pdf_with_player){//if player supports give garrison bonus - pdf_score=determine_pdf_defence(p_pdf[run],garrison,p_fortified[run])[0]; - } else{ - pdf_score=determine_pdf_defence(p_pdf[run],,p_fortified[run])[0]; - } + try { + if (pdf_with_player){//if player supports give garrison bonus + pdf_score=determine_pdf_defence(p_pdf[_run],garrison,p_fortified[_run])[0]; + } else{ + pdf_score=determine_pdf_defence(p_pdf[_run],,p_fortified[_run])[0]; + } + }catch(_exception) { + handle_exception(_exception,,,,_run); + } // - // if (p_eldar[run]>0) and (p_owner[run]!=6) then pdf_attack="eldar"; - if (p_tyranids[run]>=4) then pdf_attack="tyranids"; - if (p_tau[run]>0) and (p_owner[run]!=8) then pdf_attack="tau"; - if (p_orks[run]>0) then pdf_attack="ork"; - if (p_traitors[run]>0) then pdf_attack="traitors"; - if (p_chaos[run]>0) then pdf_attack="csm"; - if (p_guardsmen[run]>0) and (p_owner[run]=8) then pdf_attack="guard"; - if (p_guardsmen[run]>0) and (p_owner[run]=1) and (obj_controller.faction_status[2]="War") then pdf_attack="guard"; + // if (p_eldar[_run]>0) and (p_owner[_run]!=6) then pdf_attack="eldar"; + if (p_tyranids[_run]>=4) then pdf_attack="tyranids"; + if (p_tau[_run]>0) and (p_owner[_run]!=8) then pdf_attack="tau"; + if (p_orks[_run]>0) then pdf_attack="ork"; + if (p_traitors[_run]>0) then pdf_attack="traitors"; + if (p_chaos[_run]>0) then pdf_attack="csm"; + if (p_guardsmen[_run]>0) and (p_owner[_run]=8) then pdf_attack="guard"; + if (p_guardsmen[_run]>0) and (p_owner[_run]=1) and (obj_controller.faction_status[2]="War") then pdf_attack="guard"; // Always goes after traitors first, unless - if (p_traitors[run]<=1) and (p_tau[run]>=4) and (p_owner[run]!=8) then pdf_attack="tau"; - if (p_traitors[run]<=1) and (p_orks[run]>=4) then pdf_attack="ork"; - if (p_tyranids[run]>=4) then pdf_attack="tyranids"; + if (p_traitors[_run]<=1) and (p_tau[_run]>=4) and (p_owner[_run]!=8) then pdf_attack="tau"; + if (p_traitors[_run]<=1) and (p_orks[_run]>=4) then pdf_attack="ork"; + if (p_tyranids[_run]>=4) then pdf_attack="tyranids"; } - if (p_sisters[run]>0) and (stop!=1){// THEY MARCH FOR THE ECCLESIARCHY - if (p_player[run]>0) and (obj_controller.faction_status[5]="War"){ + if (p_sisters[_run]>0) and (stop!=1){// THEY MARCH FOR THE ECCLESIARCHY + if (p_player[_run]>0) and (obj_controller.faction_status[5]="War"){ sisters_attack="player"; } else { - if (p_tau[run]>0) then sisters_attack="tau"; - if (p_orks[run]>0) then sisters_attack="ork"; - if (p_necrons[run]>0) then sisters_attack="necrons"; - if (p_pdf[run]>0) and (p_owner[run]=8) then sisters_attack="pdf"; - if (p_pdf[run]>0) and (p_owner[run]=1) and (obj_controller.faction_status[5]="War") then sisters_attack="pdf"; - if (p_traitors[run]>0) then sisters_attack="traitors"; - if (p_chaos[run]>0) then sisters_attack="csm"; - if (p_player[run]>0) and (obj_controller.faction_status[5]="War") then sisters_attack="player"; + if (p_tau[_run]>0) then sisters_attack="tau"; + if (p_orks[_run]>0) then sisters_attack="ork"; + if (p_necrons[_run]>0) then sisters_attack="necrons"; + if (p_pdf[_run]>0) and (p_owner[_run]=8) then sisters_attack="pdf"; + if (p_pdf[_run]>0) and (p_owner[_run]=1) and (obj_controller.faction_status[5]="War") then sisters_attack="pdf"; + if (p_traitors[_run]>0) then sisters_attack="traitors"; + if (p_chaos[_run]>0) then sisters_attack="csm"; + if (p_player[_run]>0) and (obj_controller.faction_status[5]="War") then sisters_attack="player"; // Always goes after traitors first - if (sisters_attack="tyranids") then tyranids_score=p_tyranids[run]; + if (sisters_attack="tyranids") then tyranids_score=p_tyranids[_run]; } } - if (p_orks[run]>0) and (stop!=1){ - if (p_traitors[run]=0) and (p_tau[run]=0) and (p_eldar[run]=0) then ork_attack="imp"; + if (p_orks[_run]>0) and (stop!=1){ + if (p_traitors[_run]=0) and (p_tau[_run]=0) and (p_eldar[_run]=0) then ork_attack="imp"; rand=choose(1,2,3,4,5); // if (rand=1) and (ork_attack="imp") then ork_attack="imp"; - if (ork_attack="imp") && (p_guardsmen[run]>0) then ork_attack="guard"; + if (ork_attack="imp") && (p_guardsmen[_run]>0) then ork_attack="guard"; - if (rand=2) and (p_tau[run]>0) then ork_attack="tau"; - if (rand=3) and (p_traitors[run]>0) then ork_attack="traitors"; - if (rand=4) and (p_chaos[run]>0) then ork_attack="csm"; - if (rand=5) and (p_sisters[run]>0) then ork_attack="sisters"; - // if (rand=5) and (p_necrons[run]>0) then ork_attack="necrons"; + if (rand=2) and (p_tau[_run]>0) then ork_attack="tau"; + if (rand=3) and (p_traitors[_run]>0) then ork_attack="traitors"; + if (rand=4) and (p_chaos[_run]>0) then ork_attack="csm"; + if (rand=5) and (p_sisters[_run]>0) then ork_attack="sisters"; + // if (rand=5) and (p_necrons[_run]>0) then ork_attack="necrons"; - if (ork_attack="") and (p_player[run]>0) then ork_attack="player"; + if (ork_attack="") and (p_player[_run]>0) then ork_attack="player"; } - if (p_traitors[run]>0) and (stop!=1){ + if (p_traitors[_run]>0) and (stop!=1){ if (planet_forces[eFACTION.Ork]=0) and (planet_forces[eFACTION.Tau]=0) then traitors_attack="imp"; if (planet_forces[eFACTION.Ork]>planet_forces[eFACTION.Tau]) and (planet_forces[eFACTION.Ork]>guard_score) and (planet_forces[eFACTION.Ork]>pdf_score) then traitors_attack="orks"; if (sisters_score>planet_forces[eFACTION.Tau]) and (sisters_score>planet_forces[eFACTION.Ork]) and (sisters_score>pdf_score) then traitors_attack="sisters"; if (guard_score>planet_forces[eFACTION.Tau]) and (guard_score>planet_forces[eFACTION.Ork]) then traitors_attack="imp"; - if (traitors_attack="") and (p_player[run]>0) then traitors_attack="player"; + if (traitors_attack="") and (p_player[_run]>0) then traitors_attack="player"; } - if (p_chaos[run]>0) and (stop!=1){ + if (p_chaos[_run]>0) and (stop!=1){ if (planet_forces[eFACTION.Ork]=0) and (planet_forces[eFACTION.Tau]=0) then csm_attack="imp"; if (planet_forces[eFACTION.Ork]>planet_forces[eFACTION.Tau]) and (planet_forces[eFACTION.Ork]>guard_score) and (planet_forces[eFACTION.Ork]>pdf_score) then csm_attack="orks"; if (sisters_score>planet_forces[eFACTION.Tau]) and (sisters_score>planet_forces[eFACTION.Ork]) and (sisters_score>pdf_score) then csm_attack="sisters"; if (guard_score>planet_forces[eFACTION.Tau]) and (guard_score>planet_forces[eFACTION.Ork]) then csm_attack="imp"; - if (csm_attack="") and (p_player[run]>0) then csm_attack="player"; + if (csm_attack="") and (p_player[_run]>0) then csm_attack="player"; } - if (p_tau[run]>0) and (stop!=1) and (p_owner[run]!=8){// They don't own the planet, go ham + if (p_tau[_run]>0) and (stop!=1) and (p_owner[_run]!=8){// They don't own the planet, go ham // if (eldar_score>0) then tau_attack="eldar"; if (guard_score>0) then tau_attack="imp"; if (traitors_score>0) then tau_attack="traitors"; @@ -301,10 +305,10 @@ function scr_enemy_ai_a() { if (csm_score>=3) and (planet_forces[eFACTION.Ork]<=2) then tau_attack="csm"; if (csm_score>=4) then tau_attack="csm"; if (planet_forces[eFACTION.Ork]>=4) then tau_attack="ork"; - if (tau_attack="") and (p_sisters[run]>0) then tau_attack="sisters"; - if (tau_attack="") and (obj_controller.faction_status[8]="War") and (p_player[run]>0) then tau_attack="player"; + if (tau_attack="") and (p_sisters[_run]>0) then tau_attack="sisters"; + if (tau_attack="") and (obj_controller.faction_status[8]="War") and (p_player[_run]>0) then tau_attack="player"; } - if (p_tau[run]>0) and (stop!=1) and (p_owner[run]=8){// They own the planet + if (p_tau[_run]>0) and (stop!=1) and (p_owner[_run]=8){// They own the planet // if (eldar_score>0) then tau_attack="eldar"; if (traitors_score>0) then tau_attack="traitors"; if (planet_forces[eFACTION.Ork]>0) then tau_attack="ork"; @@ -312,36 +316,36 @@ function scr_enemy_ai_a() { if (traitors_score>=4) then tau_attack="traitors"; if (csm_score>=4) then tau_attack="csm"; if (planet_forces[eFACTION.Ork]>=4) then tau_attack="ork"; - if (tau_attack="") and (p_sisters[run]>0) then tau_attack="sisters"; - if (tau_attack="") and (obj_controller.faction_status[8]="War") and (p_player[run]>0) then tau_attack="player"; + if (tau_attack="") and (p_sisters[_run]>0) then tau_attack="sisters"; + if (tau_attack="") and (obj_controller.faction_status[8]="War") and (p_player[_run]>0) then tau_attack="player"; } - if ((p_tyranids[run]>=4) or (guard_attack="tyranids")) and (stop!=1){ - if (p_traitors[run]=0) and (p_tau[run]=0) and (p_eldar[run]=0) and (p_orks[run]=0) then tyranids_attack="imp"; + if ((p_tyranids[_run]>=4) or (guard_attack="tyranids")) and (stop!=1){ + if (p_traitors[_run]=0) and (p_tau[_run]=0) and (p_eldar[_run]=0) and (p_orks[_run]=0) then tyranids_attack="imp"; rand=choose(1,2,3,4,5,6); if (rand=1) and (tyranids_attack="imp") then tyranids_attack="imp"; - if (rand=2) and (p_tau[run]>0) then tyranids_attack="tau"; - if (rand=3) and (p_traitors[run]>0) then tyranids_attack="traitors"; - if (rand=4) and (p_orks[run]>0) then tyranids_attack="orks"; - if (rand=5) and (p_chaos[run]>0) then tyranids_attack="csm"; - if (rand=6) and (p_sisters[run]>0) then tyranids_attack="sisters"; + if (rand=2) and (p_tau[_run]>0) then tyranids_attack="tau"; + if (rand=3) and (p_traitors[_run]>0) then tyranids_attack="traitors"; + if (rand=4) and (p_orks[_run]>0) then tyranids_attack="orks"; + if (rand=5) and (p_chaos[_run]>0) then tyranids_attack="csm"; + if (rand=6) and (p_sisters[_run]>0) then tyranids_attack="sisters"; - if (tyranids_attack="") and (p_player[run]>0) then tyranids_attack="player"; + if (tyranids_attack="") and (p_player[_run]>0) then tyranids_attack="player"; } - if (p_necrons[run]>0) and (stop!=1){ - if (p_traitors[run]=0) and (p_tau[run]=0) and (p_eldar[run]=0) and (p_orks[run]=0) and (p_chaos[run]=0) then necrons_attack="imp"; + if (p_necrons[_run]>0) and (stop!=1){ + if (p_traitors[_run]=0) and (p_tau[_run]=0) and (p_eldar[_run]=0) and (p_orks[_run]=0) and (p_chaos[_run]=0) then necrons_attack="imp"; rand=choose(1,2,3,4,5,6); if (rand=1) and (necrons_attack="imp") then necrons_attack="imp"; - if (rand=2) and (p_tau[run]>0) then necrons_attack="tau"; - if (rand=3) and (p_traitors[run]>0) then necrons_attack="traitors"; - if (rand=4) and (p_orks[run]>0) then necrons_attack="orks"; - if (rand=5) and (p_chaos[run]>0) then necrons_attack="csm"; - if (rand=6) and (p_sisters[run]>0) then necrons_attack="sisters"; + if (rand=2) and (p_tau[_run]>0) then necrons_attack="tau"; + if (rand=3) and (p_traitors[_run]>0) then necrons_attack="traitors"; + if (rand=4) and (p_orks[_run]>0) then necrons_attack="orks"; + if (rand=5) and (p_chaos[_run]>0) then necrons_attack="csm"; + if (rand=6) and (p_sisters[_run]>0) then necrons_attack="sisters"; - if (necrons_attack="") and (p_player[run]>0) then necrons_attack="player"; + if (necrons_attack="") and (p_player[_run]>0) then necrons_attack="player"; } @@ -373,7 +377,7 @@ function scr_enemy_ai_a() { // if ((traitors_attack="guard") or (traitors_attack="pdf")) and (traitors_score>=3){obj_controller.x=self.x;obj_controller.y=self.y;} var after_combat_guard=guard_score; - var after_combat_guard_count=p_guardsmen[run]; + var after_combat_guard_count=p_guardsmen[_run]; var after_combat_pdf=pdf_score; var after_combat_ork_force=planet_forces[eFACTION.Ork]; var after_combat_tau=planet_forces[eFACTION.Tau]; @@ -412,17 +416,17 @@ function scr_enemy_ai_a() { rand2=(pdf_mod*pdf_score)*choose(1,1.25); if (rand1>rand2){ - if (guard_score<=3) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.7+pdf_loss_reduction))); - if (guard_score>=4) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.55+pdf_loss_reduction))); - if (guard_score>=4) and (p_pdf[run]<30000) then p_pdf[run]*=(min(0.95, 1+pdf_loss_reduction)); - if (guard_score>=3) and (p_pdf[run]<10000) then p_pdf[run]*=(min(0.95, 0+pdf_loss_reduction)); - if (guard_score>=2) and (p_pdf[run]<2000) then p_pdf[run]=0; - if (guard_score>=1) and (p_pdf[run]<200) then p_pdf[run]=0; + if (guard_score<=3) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.7+pdf_loss_reduction))); + if (guard_score>=4) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.55+pdf_loss_reduction))); + if (guard_score>=4) and (p_pdf[_run]<30000) then p_pdf[_run]*=(min(0.95, 1+pdf_loss_reduction)); + if (guard_score>=3) and (p_pdf[_run]<10000) then p_pdf[_run]*=(min(0.95, 0+pdf_loss_reduction)); + if (guard_score>=2) and (p_pdf[_run]<2000) then p_pdf[_run]=0; + if (guard_score>=1) and (p_pdf[_run]<200) then p_pdf[_run]=0; } - if (p_pdf[run]=0) and (pdf_with_player){ - if (planet_feature_bool(p_feature[run],P_features.Monastery)==0) and (p_player[run]<=0){ - p_owner[run]=2; - dispo[run]=-50; + if (p_pdf[_run]=0) and (pdf_with_player){ + if (planet_feature_bool(p_feature[_run],P_features.Monastery)==0) and (p_player[_run]<=0){ + p_owner[_run]=2; + dispo[_run]=-50; } } } @@ -467,10 +471,10 @@ function scr_enemy_ai_a() { if (pdf_attack=="guard"){ rand2=(choose(1,2,3,4,5,6)*guard_score)*choose(1,1.25,2); if (rand1>rand2){ - if (pdf_score<=3) then p_guardsmen[run]=floor(p_guardsmen[run]*0.7); - if (pdf_score>=4) then p_guardsmen[run]=floor(p_guardsmen[run]*0.6); - if (pdf_score>=4) and (p_guardsmen[run]<15000) then p_guardsmen[run]=0; - if (pdf_score>=3) and (p_guardsmen[run]<5000) then p_guardsmen[run]=0; + if (pdf_score<=3) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.7); + if (pdf_score>=4) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.6); + if (pdf_score>=4) and (p_guardsmen[_run]<15000) then p_guardsmen[_run]=0; + if (pdf_score>=3) and (p_guardsmen[_run]<5000) then p_guardsmen[_run]=0; } } } @@ -501,13 +505,13 @@ function scr_enemy_ai_a() { }else if(sisters_attack="pdf"){ rand2=(choose(1,2,3,4,5)*pdf_score)*choose(1,1.25); if (rand1>rand2){ - if (csm_score>=6) then p_pdf[run]=0; - if (csm_score<=3) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.75+pdf_loss_reduction))); - if (csm_score>=4) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.65+pdf_loss_reduction))); - if (csm_score>=4) and (p_pdf[run]<60000) then p_pdf[run]=0; - if (csm_score>=3) and (p_pdf[run]<20000) then p_pdf[run]=0; - if (csm_score>=2) and (p_pdf[run]<3000) then p_pdf[run]=0; - if (csm_score>=1) and (p_pdf[run]<1000) then p_pdf[run]=0; + if (csm_score>=6) then p_pdf[_run]=0; + if (csm_score<=3) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.75+pdf_loss_reduction))); + if (csm_score>=4) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.65+pdf_loss_reduction))); + if (csm_score>=4) and (p_pdf[_run]<60000) then p_pdf[_run]=0; + if (csm_score>=3) and (p_pdf[_run]<20000) then p_pdf[_run]=0; + if (csm_score>=2) and (p_pdf[_run]<3000) then p_pdf[_run]=0; + if (csm_score>=1) and (p_pdf[_run]<1000) then p_pdf[_run]=0; } } @@ -530,14 +534,14 @@ function scr_enemy_ai_a() { }else if (tau_attack="guard"){ rand2=(choose(1,2,3,4,5,6)*guard_score)*choose(1,1.25); if (rand1>rand2){ - if (planet_forces[eFACTION.Tau]<=3) then p_guardsmen[run]=floor(p_guardsmen[run]*0.7); - if (planet_forces[eFACTION.Tau]>=4) then p_guardsmen[run]=floor(p_guardsmen[run]*0.6); + if (planet_forces[eFACTION.Tau]<=3) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.7); + if (planet_forces[eFACTION.Tau]>=4) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.6); } }else if (tau_attack="pdf"){ rand2=(choose(1,2,3,4,5,6)*pdf_score)*choose(1,1.25); if (rand1>rand2){ - if (planet_forces[eFACTION.Tau]<=3) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.7+pdf_loss_reduction))); - if (planet_forces[eFACTION.Tau]>=4) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.55+pdf_loss_reduction))); + if (planet_forces[eFACTION.Tau]<=3) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.7+pdf_loss_reduction))); + if (planet_forces[eFACTION.Tau]>=4) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.55+pdf_loss_reduction))); } }else if (tau_attack="sisters"){ rand2=(choose(1,2,3,4,5,6)*sisters_score)*choose(1,1.25); @@ -561,33 +565,33 @@ function scr_enemy_ai_a() { }else if (ork_attack="guard"){var onc=0; rand2=(choose(1,2,3,4,5,6)*guard_score)*choose(1,1.25); if (rand1>rand2){ - if (planet_forces[eFACTION.Ork]<=3) and (onc=0){p_guardsmen[run]=floor(p_guardsmen[run]*(min(0.95, 0.7+pdf_loss_reduction)));onc=1;} - if (planet_forces[eFACTION.Ork]>=4) and (onc=0){p_guardsmen[run]=floor(p_guardsmen[run]*(min(0.95, 0.55+pdf_loss_reduction)));onc=1;} - if (planet_forces[eFACTION.Ork]>=4) and (p_guardsmen[run]<15000) and (onc=0){p_guardsmen[run]=0;onc=1;} - if (planet_forces[eFACTION.Ork]>=3) and (p_guardsmen[run]<5000) and (onc=0){p_guardsmen[run]=0;onc=1;} + if (planet_forces[eFACTION.Ork]<=3) and (onc=0){p_guardsmen[_run]=floor(p_guardsmen[_run]*(min(0.95, 0.7+pdf_loss_reduction)));onc=1;} + if (planet_forces[eFACTION.Ork]>=4) and (onc=0){p_guardsmen[_run]=floor(p_guardsmen[_run]*(min(0.95, 0.55+pdf_loss_reduction)));onc=1;} + if (planet_forces[eFACTION.Ork]>=4) and (p_guardsmen[_run]<15000) and (onc=0){p_guardsmen[_run]=0;onc=1;} + if (planet_forces[eFACTION.Ork]>=3) and (p_guardsmen[_run]<5000) and (onc=0){p_guardsmen[_run]=0;onc=1;} } }else if (ork_attack="pdf"){ var pdf_random = choose(1,2,3,4,5,6); rand2=(pdf_random*pdf_score); var active_garrison = pdf_with_player && garrison.viable_garrison>0; if (rand1>rand2){ - if (planet_forces[eFACTION.Ork]>=4) and (p_pdf[run]>=30000){ - p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.55+pdf_loss_reduction))); + if (planet_forces[eFACTION.Ork]>=4) and (p_pdf[_run]>=30000){ + p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.55+pdf_loss_reduction))); } - else if (planet_forces[eFACTION.Ork]>=4 && p_pdf[run]<30000 && p_pdf[run]>=10000){ - p_pdf[run]=active_garrison?p_pdf[run]*0.4:0; + else if (planet_forces[eFACTION.Ork]>=4 && p_pdf[_run]<30000 && p_pdf[_run]>=10000){ + p_pdf[_run]=active_garrison?p_pdf[_run]*0.4:0; } - else if (planet_forces[eFACTION.Ork]>=3) and (p_pdf[run]<10000){ - p_pdf[run]=active_garrison?p_pdf[run]*0.4:0; + else if (planet_forces[eFACTION.Ork]>=3) and (p_pdf[_run]<10000){ + p_pdf[_run]=active_garrison?p_pdf[_run]*0.4:0; } - else if (planet_forces[eFACTION.Ork]<3 && p_pdf[run]>30000){ - p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.7+pdf_loss_reduction))); + else if (planet_forces[eFACTION.Ork]<3 && p_pdf[_run]>30000){ + p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.7+pdf_loss_reduction))); } - if (planet_forces[eFACTION.Ork]>=2) and (p_pdf[run]<2000){ p_pdf[run]=0;} - if (planet_forces[eFACTION.Ork]>=1) and (p_pdf[run]<200){ p_pdf[run]=0;} + if (planet_forces[eFACTION.Ork]>=2) and (p_pdf[_run]<2000){ p_pdf[_run]=0;} + if (planet_forces[eFACTION.Ork]>=1) and (p_pdf[_run]<200){ p_pdf[_run]=0;} if (active_garrison){ - var tixt = $"Chapter Forces led by {garrison.garrison_leader.name_role()} on {name} {scr_roman_numerals()[run-1]} were unable to secure PDF victory chapter support requested"; + var tixt = $"Chapter Forces led by {garrison.garrison_leader.name_role()} on {name} {scr_roman_numerals()[_run-1]} were unable to secure PDF victory chapter support requested"; if (garrison.garrison_sustain_damages("loose")>0){ tixt += $". {garrison.garrison_sustain_damages()} Marines Lost"; } @@ -597,14 +601,14 @@ function scr_enemy_ai_a() { } else { if (active_garrison){ garrison.garrison_sustain_damages(); - var tixt = $"Chapter Forces led by {garrison.garrison_leader.name_role()} on {name} {scr_roman_numerals()[run-1]} secure PDF victory"; + var tixt = $"Chapter Forces led by {garrison.garrison_leader.name_role()} on {name} {scr_roman_numerals()[_run-1]} secure PDF victory"; if (garrison.garrison_sustain_damages("win")>0){ tixt += $". {garrison.garrison_sustain_damages()} Marines Lost"; } scr_alert("green","owner",tixt,x,y); } } - if (p_pdf[run]=0) and (p_player[run]<=0){ + if (p_pdf[_run]=0) and (p_player[_run]<=0){ var badd=1; if (p_pdf[1]+p_pdf[2]+p_pdf[3]+p_pdf[4]=0) and (p_guardsmen[1]+p_guardsmen[2]+p_guardsmen[3]+p_guardsmen[4]=0){ @@ -612,19 +616,19 @@ function scr_enemy_ai_a() { } if (owner <= 5) { - if (badd = 1) and(p_tyranids[run] = 0) and(p_necrons[run] = 0) and(p_sisters[run] = 0) { - scr_alert("red", "owner", string(name) + " " + string(run) + " has been overwhelmed by Orks!", x, y); + if (badd = 1) and(p_tyranids[_run] = 0) and(p_necrons[_run] = 0) and(p_sisters[_run] = 0) { + scr_alert("red", "owner", string(name) + " " + string(_run) + " has been overwhelmed by Orks!", x, y); if (visited == 1) { //visited variable check whether the star has been visisted or not 1 for true 0 for false - if (p_type[run] == "Forge") { - dispo[run] -= 5; // 10 Disposition decrease for the planet govrnor if it's overrun by orks + if (p_type[_run] == "Forge") { + dispo[_run] -= 5; // 10 Disposition decrease for the planet govrnor if it's overrun by orks obj_controller.disposition[3] -= 5; // obj_controller.disposition[3] refer to the disposition of the toaster jocks. - } else if (planet_feature_bool(p_feature[run], P_features.Sororitas_Cathedral) or(p_type[run] == "Shrine")) { - dispo[run] -= 10; // diso[run] is the disposition of the planet. where run refer to the planet that is currently running the code. + } else if (planet_feature_bool(p_feature[_run], P_features.Sororitas_Cathedral) or(p_type[_run] == "Shrine")) { + dispo[_run] -= 10; // diso[_run] is the disposition of the planet. where _run refer to the planet that is currently running the code. obj_controller.disposition[5] -= 3; // obj_controller.disposition[2] refer to the disposition of the sororitas while 3 refer to mechanicus - } else dispo[run] -= 5; + } else dispo[_run] -= 5; } - } // diso[run] is the disposition of the planet. where run refer to the planet that is currently running the code. - if (badd = 2) and(p_tyranids[run] = 0) and(p_necrons[run] = 0) and(p_sisters[run] = 0) { + } // diso[_run] is the disposition of the planet. where _run refer to the planet that is currently running the code. + if (badd = 2) and(p_tyranids[_run] = 0) and(p_necrons[_run] = 0) and(p_sisters[_run] = 0) { scr_popup("System Lost", "The " + string(name) + " system has been ovewhelmed by Orks!", "orks", ""); scr_event_log("red", "System " + string(name) + " has been overwhelmed by Orkz.", name); // owner=7;p_owner[1]=7;p_owner[2]=7;p_owner[3]=7;p_owner[4]=7; @@ -659,24 +663,24 @@ function scr_enemy_ai_a() { else if (traitors_attack="guard"){ rand2=(choose(1,2,3,4,5)*guard_score)*choose(1,1.25); if (rand1>rand2){ - if (traitors_score<=3) then p_guardsmen[run]=floor(p_guardsmen[run]*0.7); - if (traitors_score>=4) then p_guardsmen[run]=floor(p_guardsmen[run]*0.6); - if (traitors_score>=6) then p_guardsmen[run]=floor(p_guardsmen[run]*0.3); - if (traitors_score>=4) and (p_guardsmen[run]<15000) then p_guardsmen[run]=0; - if (traitors_score>=3) and (p_guardsmen[run]<5000) then p_guardsmen[run]=0; - if (traitors_score>=2) and (p_guardsmen[run]<1000) then p_guardsmen[run]=0; - if (traitors_score>=1) and (p_guardsmen[run]<500) then p_guardsmen[run]=0; + if (traitors_score<=3) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.7); + if (traitors_score>=4) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.6); + if (traitors_score>=6) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.3); + if (traitors_score>=4) and (p_guardsmen[_run]<15000) then p_guardsmen[_run]=0; + if (traitors_score>=3) and (p_guardsmen[_run]<5000) then p_guardsmen[_run]=0; + if (traitors_score>=2) and (p_guardsmen[_run]<1000) then p_guardsmen[_run]=0; + if (traitors_score>=1) and (p_guardsmen[_run]<500) then p_guardsmen[_run]=0; } }else if (traitors_attack="pdf"){ rand2=(choose(1,2,3,4,5)*pdf_score)*choose(1,1.25); if (rand1>rand2){ - if (traitors_score>=6) then p_pdf[run]=0; - if (traitors_score<=3) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.75+pdf_loss_reduction))); - if (traitors_score>=4) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.55+pdf_loss_reduction))); - if (traitors_score>=4) and (p_pdf[run]<60000) then p_pdf[run]=0; - if (traitors_score>=3) and (p_pdf[run]<20000) then p_pdf[run]=0; - if (traitors_score>=2) and (p_pdf[run]<3000) then p_pdf[run]=0; - if (traitors_score>=1) and (p_pdf[run]<1000) then p_pdf[run]=0; + if (traitors_score>=6) then p_pdf[_run]=0; + if (traitors_score<=3) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.75+pdf_loss_reduction))); + if (traitors_score>=4) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.55+pdf_loss_reduction))); + if (traitors_score>=4) and (p_pdf[_run]<60000) then p_pdf[_run]=0; + if (traitors_score>=3) and (p_pdf[_run]<20000) then p_pdf[_run]=0; + if (traitors_score>=2) and (p_pdf[_run]<3000) then p_pdf[_run]=0; + if (traitors_score>=1) and (p_pdf[_run]<1000) then p_pdf[_run]=0; } }else if (traitors_attack="sisters"){ rand2=(choose(1,2,3,4,5,6,7)*sisters_score)*choose(1,1.25); @@ -699,24 +703,24 @@ function scr_enemy_ai_a() { }else if (csm_attack="guard"){ rand2=(choose(1,2,3,4,5)*guard_score)*choose(1,1.25); if (rand1>rand2){ - if (csm_score<=3) then p_guardsmen[run]=floor(p_guardsmen[run]*0.7); - if (csm_score>=4) then p_guardsmen[run]=floor(p_guardsmen[run]*0.6); - if (csm_score>=6) then p_guardsmen[run]=floor(p_guardsmen[run]*0.3); - if (csm_score>=4) and (p_guardsmen[run]<15000) then p_guardsmen[run]=0; - if (csm_score>=3) and (p_guardsmen[run]<5000) then p_guardsmen[run]=0; - if (csm_score>=2) and (p_guardsmen[run]<1000) then p_guardsmen[run]=0; - if (csm_score>=1) and (p_guardsmen[run]<500) then p_guardsmen[run]=0; + if (csm_score<=3) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.7); + if (csm_score>=4) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.6); + if (csm_score>=6) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.3); + if (csm_score>=4) and (p_guardsmen[_run]<15000) then p_guardsmen[_run]=0; + if (csm_score>=3) and (p_guardsmen[_run]<5000) then p_guardsmen[_run]=0; + if (csm_score>=2) and (p_guardsmen[_run]<1000) then p_guardsmen[_run]=0; + if (csm_score>=1) and (p_guardsmen[_run]<500) then p_guardsmen[_run]=0; } }else if (csm_attack="pdf"){ rand2=(choose(1,2,3,4,5)*pdf_score)*choose(1,1.25); if (rand1>rand2){ - if (csm_score>=6) then p_pdf[run]=0; - if (csm_score<=3) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.75+pdf_loss_reduction))); - if (csm_score>=4) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.55+pdf_loss_reduction))); - if (csm_score>=4) and (p_pdf[run]<60000) then p_pdf[run]=0; - if (csm_score>=3) and (p_pdf[run]<20000) then p_pdf[run]=0; - if (csm_score>=2) and (p_pdf[run]<3000) then p_pdf[run]=0; - if (csm_score>=1) and (p_pdf[run]<1000) then p_pdf[run]=0; + if (csm_score>=6) then p_pdf[_run]=0; + if (csm_score<=3) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.75+pdf_loss_reduction))); + if (csm_score>=4) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.55+pdf_loss_reduction))); + if (csm_score>=4) and (p_pdf[_run]<60000) then p_pdf[_run]=0; + if (csm_score>=3) and (p_pdf[_run]<20000) then p_pdf[_run]=0; + if (csm_score>=2) and (p_pdf[_run]<3000) then p_pdf[_run]=0; + if (csm_score>=1) and (p_pdf[_run]<1000) then p_pdf[_run]=0; } }else if (csm_attack="sisters"){ rand2=(choose(2,3,4,5,6)*sisters_score)*choose(1,1.25); @@ -744,32 +748,32 @@ function scr_enemy_ai_a() { rand2=(choose(1,2,3,4,5)*traitors_score)*choose(1,1.25); if (rand1>rand2) and (traitors_score!=7) then after_combat_traitor-=1; }else if (tyranids_attack="imp"){ - if (p_pdf[run]>0) then tyranids_attack="pdf"; - if (p_guardsmen[run]>0) then tyranids_attack="guard"; + if (p_pdf[_run]>0) then tyranids_attack="pdf"; + if (p_guardsmen[_run]>0) then tyranids_attack="guard"; }else if (tyranids_attack="guard"){ rand1=(choose(1,2,3,4,5,6,7)*tyranids_score)*choose(1,1.25); rand2=(choose(1,2,3,4,5)*guard_score)*choose(1,1.25); if (rand1>rand2){ - /*if (tyranids_score<=3) then p_guardsmen[run]=floor(p_guardsmen[run]*0.6); - if (tyranids_score>=4) then p_guardsmen[run]=floor(p_guardsmen[run]*0.5);*/ + /*if (tyranids_score<=3) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.6); + if (tyranids_score>=4) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.5);*/ var onh;onh=0; - if (tyranids_score=1) and (onh=0){p_guardsmen[run]-=2000;onh=1;} - if (tyranids_score=2) and (onh=0){p_guardsmen[run]-=30000;onh=1;} - if (tyranids_score=3) and (onh=0){p_guardsmen[run]-=100000;onh=1;} - if (tyranids_score=4) and (onh=0){p_guardsmen[run]-=500000;onh=1;} - if (tyranids_score>=4) and (onh=0) and (p_guardsmen[run]<=15000){p_guardsmen[run]=0;onh=1;} - if (tyranids_score>=5) and (onh=0){p_guardsmen[run]-=max(floor(p_guardsmen[run]*0.2),2000000);onh=1;} - // if (tyranids_score>=6) and (onh=0){p_guardsmen[run]=floor(p_guardsmen[run]*0.2);onh=1;} + if (tyranids_score=1) and (onh=0){p_guardsmen[_run]-=2000;onh=1;} + if (tyranids_score=2) and (onh=0){p_guardsmen[_run]-=30000;onh=1;} + if (tyranids_score=3) and (onh=0){p_guardsmen[_run]-=100000;onh=1;} + if (tyranids_score=4) and (onh=0){p_guardsmen[_run]-=500000;onh=1;} + if (tyranids_score>=4) and (onh=0) and (p_guardsmen[_run]<=15000){p_guardsmen[_run]=0;onh=1;} + if (tyranids_score>=5) and (onh=0){p_guardsmen[_run]-=max(floor(p_guardsmen[_run]*0.2),2000000);onh=1;} + // if (tyranids_score>=6) and (onh=0){p_guardsmen[_run]=floor(p_guardsmen[_run]*0.2);onh=1;} - if (p_guardsmen[run]<0) then p_guardsmen[run]=0; + if (p_guardsmen[_run]<0) then p_guardsmen[_run]=0; } }else if (tyranids_attack="pdf"){ rand2=(choose(1,2,3,4,5)*pdf_score)*choose(1,1.25); if (rand1>rand2){ - if (tyranids_score>=6) then p_pdf[run]=0; - if (tyranids_score<=3) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.4+pdf_loss_reduction))); - if (tyranids_score>=4) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.2+pdf_loss_reduction))); - if (tyranids_score>=4) and (p_pdf[run]<60000) then p_pdf[run]=0; + if (tyranids_score>=6) then p_pdf[_run]=0; + if (tyranids_score<=3) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.4+pdf_loss_reduction))); + if (tyranids_score>=4) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.2+pdf_loss_reduction))); + if (tyranids_score>=4) and (p_pdf[_run]<60000) then p_pdf[_run]=0; } }else if (tyranids_attack="sisters"){ rand2=(choose(1,2,3,4,5)*sisters_score)*choose(1,1.25); @@ -797,47 +801,47 @@ function scr_enemy_ai_a() { rand2=(choose(1,2,3,4,5)*traitors_score)*choose(1,1.25); if (rand1>rand2) and (traitors_score!=7) then after_combat_csm-=1; }else if (necrons_attack="imp"){ - if (p_pdf[run]>0) then necrons_attack="pdf"; - if (p_guardsmen[run]>0) then necrons_attack="guard"; + if (p_pdf[_run]>0) then necrons_attack="pdf"; + if (p_guardsmen[_run]>0) then necrons_attack="guard"; }else if (necrons_attack="guard"){ rand2=(choose(1,2,3,4,5)*guard_score)*choose(1,1.25); if (rand1>rand2){ - if (necrons_score<=3) then p_guardsmen[run]=floor(p_guardsmen[run]*0.6); - if (necrons_score>=4) then p_guardsmen[run]=floor(p_guardsmen[run]*0.5); - if (necrons_score>=6) then p_guardsmen[run]=floor(p_guardsmen[run]*0.2); - if (necrons_score>=4) and (p_guardsmen[run]<15000) then p_guardsmen[run]=0; + if (necrons_score<=3) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.6); + if (necrons_score>=4) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.5); + if (necrons_score>=6) then p_guardsmen[_run]=floor(p_guardsmen[_run]*0.2); + if (necrons_score>=4) and (p_guardsmen[_run]<15000) then p_guardsmen[_run]=0; } }else if (necrons_attack="pdf"){ rand2=(choose(1,2,3,4,5)*pdf_score)*choose(1,1.25); if (rand1>rand2){ - if (necrons_score>=6) then p_pdf[run]=0; - if (necrons_score<=3) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.4+pdf_loss_reduction))); - if (necrons_score>=4) then p_pdf[run]=floor(p_pdf[run]*(min(0.95, 0.2+pdf_loss_reduction))); - if (necrons_score>=4) and (p_pdf[run]<60000) then p_pdf[run]=0; + if (necrons_score>=6) then p_pdf[_run]=0; + if (necrons_score<=3) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.4+pdf_loss_reduction))); + if (necrons_score>=4) then p_pdf[_run]=floor(p_pdf[_run]*(min(0.95, 0.2+pdf_loss_reduction))); + if (necrons_score>=4) and (p_pdf[_run]<60000) then p_pdf[_run]=0; } - if (p_pdf[run]=0) and (p_player[run]<=0) and (p_necrons[run]>0){ + if (p_pdf[_run]=0) and (p_player[_run]<=0) and (p_necrons[_run]>0){ var badd;badd=1; if (p_pdf[1]+p_pdf[2]+p_pdf[3]+p_pdf[4]=0) and (p_guardsmen[1]+p_guardsmen[2]+p_guardsmen[3]+p_guardsmen[4]=0){ badd=2; } - if (badd = 1) and(p_tyranids[run] < 5) and(p_orks[run] = 0) and(p_traitors[run] = 0) { - scr_alert("red", "owner", string(name) + " " + string(run) + " has been overwhelmed by Necrons!", x, y); + if (badd = 1) and(p_tyranids[_run] < 5) and(p_orks[_run] = 0) and(p_traitors[_run] = 0) { + scr_alert("red", "owner", string(name) + " " + string(_run) + " has been overwhelmed by Necrons!", x, y); if (visited == 1) { - if (p_type[run] == "Forge") { //visited variable check whether the star has been visisted or not 1 for true 0 for false - dispo[run] -= 10; // 10 Disposition decrease for the planet govrnor if it's overrun by necrons + if (p_type[_run] == "Forge") { //visited variable check whether the star has been visisted or not 1 for true 0 for false + dispo[_run] -= 10; // 10 Disposition decrease for the planet govrnor if it's overrun by necrons obj_controller.disposition[3] -= 10; // 10 dis decrease for the faction mechanicus - } else if (planet_feature_bool(p_feature[run], P_features.Sororitas_Cathedral) or(p_type[run] == "Shrine")) { - dispo[run] -= 10; // 10 Disposition decrease for the planet govrnor if it's overrun by necrons + } else if (planet_feature_bool(p_feature[_run], P_features.Sororitas_Cathedral) or(p_type[_run] == "Shrine")) { + dispo[_run] -= 10; // 10 Disposition decrease for the planet govrnor if it's overrun by necrons obj_controller.disposition[5] -= 5; // 5 dis decrease for the Nurses - } else dispo[run] -= 10; + } else dispo[_run] -= 10; } } - if (badd=2) and (p_tyranids[run]<5) and (p_orks[run]=0) and (p_traitors[run]=0){ + if (badd=2) and (p_tyranids[_run]<5) and (p_orks[_run]=0) and (p_traitors[_run]=0){ scr_popup("System Lost","The "+string(name)+" system has been ovewhelmed by Necrons!","necron_army",""); scr_event_log("red","System "+string(name)+" has been overwhelmed by Necrons.", name); } @@ -852,13 +856,13 @@ function scr_enemy_ai_a() { - p_orks[run]=after_combat_ork_force; - p_tau[run]=after_combat_tau; - p_traitors[run]=after_combat_traitor; - p_chaos[run]=after_combat_csm; - p_necrons[run]=after_combat_necrons; - if (p_tyranids[run]>4) then p_tyranids[run]=after_combat_tyranids; - p_sisters[run]=after_combat_sisters; + p_orks[_run]=after_combat_ork_force; + p_tau[_run]=after_combat_tau; + p_traitors[_run]=after_combat_traitor; + p_chaos[_run]=after_combat_csm; + p_necrons[_run]=after_combat_necrons; + if (p_tyranids[_run]>4) then p_tyranids[_run]=after_combat_tyranids; + p_sisters[_run]=after_combat_sisters; // End stop @@ -867,56 +871,56 @@ function scr_enemy_ai_a() { // 135; - p_time_since_saved[run] = 0; - var planet_saved = ((p_player[run] + p_raided[run]) > 0 && p_orks[run] = 0 && p_tyranids[run] < 4 && p_chaos[run] = 0 && p_traitors[run] = 0 && p_necrons[run] = 0 && p_tau[run] = 0); + p_time_since_saved[_run] = 0; + var planet_saved = ((p_player[_run] + p_raided[_run]) > 0 && p_orks[_run] = 0 && p_tyranids[_run] < 4 && p_chaos[_run] = 0 && p_traitors[_run] = 0 && p_necrons[_run] = 0 && p_tau[_run] = 0); if (planet_saved){ var who_cleansed=""; var who_return=""; var make_alert = false; - var planet_string = $"{name} {scr_roman(run)}"; - if (p_owner[run] = 7) { + var planet_string = $"{name} {scr_roman(_run)}"; + if (p_owner[_run] = 7) { who_cleansed="Orks" make_alert=true; - }else if (p_owner[run] = 8 && p_pdf[run] = 0) { + }else if (p_owner[_run] = 8 && p_pdf[_run] = 0) { who_cleansed="Tau" make_alert=true; - }else if (p_owner[run] = 13) { + }else if (p_owner[_run] = 13) { who_cleansed="Necrons" make_alert=true; - }else if (p_owner[run] = 10) { + }else if (p_owner[_run] = 10) { who_cleansed="Chaos" make_alert=true; - } else if (planet_feature_bool(p_feature[run], P_features.Gene_Stealer_Cult) && p_tyranids[run] <= 0){ + } else if (planet_feature_bool(p_feature[_run], P_features.Gene_Stealer_Cult) && p_tyranids[_run] <= 0){ who_cleansed="Gene Stealer Cult" make_alert=true; - delete_features(p_feature[run], P_features.Gene_Stealer_Cult); - adjust_influence(eFACTION.Tyranids, -25, run); + delete_features(p_feature[_run], P_features.Gene_Stealer_Cult); + adjust_influence(eFACTION.Tyranids, -25, _run); } if (make_alert){ - if (p_first[run] = 1){ - p_owner[run] = eFACTION.Player; + if (p_first[_run] = 1){ + p_owner[_run] = eFACTION.Player; who_return = "your"; - } else if (p_first[run] = 3 || p_type[run]=="Forge"){ + } else if (p_first[_run] = 3 || p_type[_run]=="Forge"){ who_return="mechanicus"; obj_controller.disposition[3] += 10; - p_owner[run] = eFACTION.Mechanicus - }else if (p_type[run]!="Dead"){ + p_owner[_run] = eFACTION.Mechanicus + }else if (p_type[_run]!="Dead"){ who_return="the governor"; if (who_cleansed=="tau"){ who_return="a more suitable governer" } - p_owner[run] = eFACTION.Imperium; + p_owner[_run] = eFACTION.Imperium; } - dispo[run] += 10; + dispo[_run] += 10; scr_event_log("", $"{who_cleansed} cleansed from {planet_string}", name); scr_alert("green", "owner", $"{who_cleansed} cleansed from {planet_string}. Control returned to {who_return}", x, y); - if (dispo[run] >= 101) then p_owner[run] = 1; + if (dispo[_run] >= 101) then p_owner[_run] = 1; } } - if (p_raided[run] > 0) then p_raided[run] = 0; + if (p_raided[_run] > 0) then p_raided[_run] = 0; } // end repeat here