Skip to content

Commit 75844ae

Browse files
fix: Daemonworld exterminatus disposition hit (#668)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
1 parent bcd57e5 commit 75844ae

1 file changed

Lines changed: 50 additions & 55 deletions

File tree

scripts/scr_destroy_planet/scr_destroy_planet.gml

Lines changed: 50 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -77,23 +77,24 @@ function scr_destroy_planet(destruction_method) {
7777
}
7878
}
7979

80-
// Relation penalties here, if applicable
81-
if (you.p_type[baid]="Daemon"){
80+
81+
// Increase disposition for all Imperial factions when destroying daemon worlds
82+
// Relation penalties here, if applicable
83+
if (you.p_type[baid] == "Daemon") {
84+
obj_controller.disposition[eFACTION.Imperium] += 5;
85+
obj_controller.disposition[eFACTION.Mechanicus] += 5;
8286
obj_controller.disposition[4]+=5;
83-
8487
obj_controller.disposition[5]+=5;
8588
var o=0;
8689
if (scr_has_adv("Reverent Guardians")) then o=500;
8790
if (o>100) then obj_controller.disposition[5]+=5;
88-
91+
8992
if (obj_controller.blood_debt=1){
9093
obj_controller.penitent_current+=1500;
9194
obj_controller.penitent_turn=0;
9295
obj_controller.penitent_turnly=0;}
93-
}
94-
95-
//TODO a shitload of helper functions to make this sort of stuff easier
96-
if ((you.p_owner[baid]=3) or (you.p_first[baid]=3)) and (obj_controller.faction_status[eFACTION.Mechanicus]!="War"){
96+
//TODO a shitload of helper functions to make this sort of stuff easier
97+
} else if ((you.p_owner[baid] == eFACTION.Mechanicus || you.p_first[baid] == eFACTION.Mechanicus) && obj_controller.faction_status[eFACTION.Mechanicus] != "War") {
9798
obj_controller.loyalty-=50;
9899
obj_controller.loyalty_hidden-=50;
99100
obj_controller.disposition[eFACTION.Imperium]-=50;
@@ -129,8 +130,7 @@ function scr_destroy_planet(destruction_method) {
129130
obj_controller.audien_topic[obj_controller.audiences]="declare_war";}
130131
}
131132

132-
}
133-
if (enemy9=5) and (obj_controller.faction_status[eFACTION.Ecclesiarchy]!="War"){
133+
} else if (enemy9 == eFACTION.Ecclesiarchy && obj_controller.faction_status[eFACTION.Ecclesiarchy] != "War") {
134134
obj_controller.loyalty-=50;
135135
obj_controller.loyalty_hidden-=50;
136136
obj_controller.disposition[eFACTION.Imperium]-=50;
@@ -153,51 +153,46 @@ function scr_destroy_planet(destruction_method) {
153153
obj_controller.audiences+=1;
154154
obj_controller.audien[obj_controller.audiences]=2;
155155
obj_controller.audien_topic[obj_controller.audiences]="declare_war";
156-
}
157-
158-
159-
160-
if (you.p_tyranids[baid]<5){
161-
if (you.p_first[baid]=2) and (you.p_type[baid]="Hive") and (planet_feature_bool(you.p_feature[baid], P_features.Daemonic_Incursion)==0) and (obj_controller.faction_status[eFACTION.Imperium]!="War"){
162-
obj_controller.loyalty-=50;
163-
obj_controller.loyalty_hidden-=50;
164-
obj_controller.disposition[eFACTION.Imperium]-=60;
165-
obj_controller.disposition[3]-=30;
166-
obj_controller.disposition[4]-=40;
167-
obj_controller.disposition[5]-=40;
168-
169-
obj_controller.faction_status[eFACTION.Imperium]="War";
170-
obj_controller.faction_status[eFACTION.Mechanicus]="War";
171-
obj_controller.faction_status[eFACTION.Inquisition]="War";
172-
obj_controller.faction_status[eFACTION.Ecclesiarchy]="War";
173-
174-
obj_controller.audiences+=1;
175-
obj_controller.audien[obj_controller.audiences]=2;
176-
obj_controller.audien_topic[obj_controller.audiences]="declare_war";
177-
if (obj_controller.known[eFACTION.Inquisition]>1){
178-
obj_controller.audiences+=1;
179-
obj_controller.audien[obj_controller.audiences]=4;
180-
obj_controller.audien_topic[obj_controller.audiences]="declare_war";}
181-
if (obj_controller.known[eFACTION.Ecclesiarchy]>1){
182-
obj_controller.audiences+=1;
183-
obj_controller.audien[obj_controller.audiences]=5;
184-
obj_controller.audien_topic[obj_controller.audiences]="declare_war";}
185-
if (obj_controller.known[eFACTION.Mechanicus]>1){
186-
obj_controller.audiences+=1;
187-
obj_controller.audien[obj_controller.audiences]=3;
188-
obj_controller.audien_topic[obj_controller.audiences]="declare_war";}
189-
190-
if (planet_feature_bool(you.p_feature[baid], P_features.Sororitas_Cathedral)==1) then obj_controller.disposition[5]-=30;
191-
}
192-
if (you.p_owner[baid]=2) and ((you.p_type[baid]="Temperate") or (you.p_type[baid]="Temperate")) and (planet_feature_bool(you.p_feature[baid], P_features.Daemonic_Incursion)==0){
193-
obj_controller.loyalty-=30;
194-
obj_controller.loyalty_hidden-=30;
195-
obj_controller.disposition[eFACTION.Imperium]-=30;
196-
obj_controller.disposition[3]-=15;
197-
obj_controller.disposition[4]-=30;
198-
obj_controller.disposition[5]-=30;
199-
}
200-
}
156+
} else if (obj_controller.faction_status[eFACTION.Imperium] != "War" && planet_feature_bool(you.p_feature[baid], P_features.Daemonic_Incursion) == 0 && you.p_tyranids[baid] < 5) {
157+
if (you.p_first[baid] == eFACTION.Imperium && you.p_type[baid] == "Hive") {
158+
obj_controller.loyalty -= 50;
159+
obj_controller.loyalty_hidden -= 50;
160+
obj_controller.disposition[eFACTION.Imperium]-=60;
161+
obj_controller.disposition[eFACTION.Mechanicus] -= 30;
162+
obj_controller.disposition[eFACTION.Inquisition] -= 40;
163+
obj_controller.disposition[eFACTION.Ecclesiarchy] -= 40;
164+
165+
obj_controller.faction_status[eFACTION.Imperium] = "War";
166+
obj_controller.faction_status[eFACTION.Mechanicus] = "War";
167+
obj_controller.faction_status[eFACTION.Inquisition] = "War";
168+
obj_controller.faction_status[eFACTION.Ecclesiarchy] = "War";
169+
170+
obj_controller.audiences += 1;
171+
obj_controller.audien[obj_controller.audiences] = 2;
172+
obj_controller.audien_topic[obj_controller.audiences] = "declare_war";
173+
if (obj_controller.known[eFACTION.Inquisition] > 1){
174+
obj_controller.audiences += 1;
175+
obj_controller.audien[obj_controller.audiences] = 4;
176+
obj_controller.audien_topic[obj_controller.audiences] = "declare_war";}
177+
if (obj_controller.known[eFACTION.Ecclesiarchy] > 1){
178+
obj_controller.audiences += 1;
179+
obj_controller.audien[obj_controller.audiences] = 5;
180+
obj_controller.audien_topic[obj_controller.audiences] = "declare_war";}
181+
if (obj_controller.known[eFACTION.Mechanicus] > 1){
182+
obj_controller.audiences += 1;
183+
obj_controller.audien[obj_controller.audiences] = 3;
184+
obj_controller.audien_topic[obj_controller.audiences] = "declare_war";}
185+
186+
if (planet_feature_bool(you.p_feature[baid], P_features.Sororitas_Cathedral) == 1) { obj_controller.disposition[5] -= 30; }
187+
} else if (you.p_owner[baid] == eFACTION.Imperium && (you.p_type[baid] == "Temperate" || you.p_type[baid] == "Desert")) {
188+
obj_controller.loyalty -= 30;
189+
obj_controller.loyalty_hidden -= 30;
190+
obj_controller.disposition[eFACTION.Imperium] -= 30;
191+
obj_controller.disposition[eFACTION.Mechanicus] -= 15;
192+
obj_controller.disposition[eFACTION.Inquisition] -= 30;
193+
obj_controller.disposition[eFACTION.Ecclesiarchy] -= 30;
194+
}
195+
}
201196

202197
// Planet changes here
203198
//TODO make a plane_reset function

0 commit comments

Comments
 (0)