// TMW2 scripts.
// Authors:
// Jesusalva
// Description:
// Alliance High Council
003-0-2,22,24,0 script HC Jesusalva NPC_LOF_NOBLEMAN,{
mesn l("Councilor Jesusalva");
mesq l("Greetings, %s %s, to the Alliance High Council.", ($MOST_HEROIC$ == strcharinfo(0) ? l("Great Hero") : (ACADEMIC_RANK ? academicrank() : lg("miss", "mister"))), strcharinfo(0));
next;
mesn l("Councilor Jesusalva");
mesq l("I am currently in charge of overseeing the world state and the Monster King advancements, as well as planning and dealing with emergencies. The Alliance High Council is currently composed by %s members and %s honorary ones.", l("five"), l("two"));
next;
mesn l("Councilor Jesusalva");
mesq l("If you found anything which requires immediate attention, like broken roads which lead nowhere, or cliffs with weird collisions, invisible rocks, scamming NPCs or the sorts, please write down a [@@%s|ticket@@] and I'll see it. If the interface is too difficult to use, you can also do so [@@%s|here@@] or send an email to %s.", "https://gitlab.com/TMW2/serverdata/-/issues", "https://discord.gg/BQNTe68", "bug@tmw2.org");
if (.saul && .jak1 && .lawn && .craz)
close;
next;
mesn l("Councilor Jesusalva");
mesq l("The other councilors?");
if (!.saul)
mes l("─ Saulc should be on his residence, going over the plans again.");
if (!.jak1)
mes l("─ Jak1 should be on the Mirror Lake or verifying the infrastructure.");
if (!.lawn)
mes l("─ LawnCable is likely on his room doing research, I wouldn't disturb him if I were you.");
if (!.craz)
mes l("─ Crazyfefe is likely patrolling the world, aiding Constables and catching criminals.");
close;
OnDeloc:
if (isin("003-0-2", 20, 20, 49, 37)) {
slide 35, 38;
sleep2(200);
dispbottom l("The High Council is now on session, you were forced to leave the meeting chamber.");
}
end;
OnInit:
.sex = G_MALE;
.distance = 5;
.session = false;
OnMinute17:
OnMinute44:
disablenpc "HC Saulc";
disablenpc "HC Jak1";
disablenpc "HC LawnCable";
disablenpc "HC Crazyfefe";
.saul = false;
.jak1 = false;
.lawn = false;
.craz = false;
// Define who will be at Council Room
.@r = rand2(100);
if (.session) {
.@r -= 5;
.session = false;
disablenpc "High Council Secretary";
delcells "HCouncilGate";
npctalk "The council is dismissed!";
}
if (.@r >= 97 && !$FIRESOFSTEAM) {
// Council Session
enablenpc "HC Saulc";
enablenpc "HC Jak1";
enablenpc "HC LawnCable";
enablenpc "HC Crazyfefe";
enablenpc "High Council Secretary";
setcells "003-0-2", 32, 35, 37, 37, 1, "HCouncilGate";
.session = true;
npctalk "The council is now in session.";
maptimer("003-0-2", 100, "HC Jesusalva::OnDeloc");
end;
// TODO: Council - make the NPCs speak etc
}
// Not a council session, so some members may show up
if (.@r % 30) {
enablenpc "HC LawnCable";
.lawn = true;
}
if (.@r % 10) {
enablenpc "HC Jak1";
.jak1 = true;
}
if (.@r % 5) {
enablenpc "HC Crazyfefe";
.craz = true;
}
if (.@r % 2) {
enablenpc "HC Saulc";
.saul = true;
}
end;
}
003-0-2,34,27,0 script HC Saulc NPC_HALBERDBARBARIAN,{
mesn l("Councilor Saulc");
mesq l("These battle plans are all wrong; They trace routes on the Canyon which doesn't exist...");
close;
OnInit:
.sex = G_MALE;
.distance = 5;
end;
}
003-0-2,22,30,0 script HC Jak1 NPC_LOF_DOCTOR,{
mesn l("Councilor Jak1");
mesq l("Why everything is so broken, couldn't the Monster King try to do less collateral damage?! These things will take years to be fixed!");
close;
OnInit:
.sex = G_MALE;
.distance = 5;
end;
}
003-0-2,47,24,0 script HC LawnCable NPC_BLACKALCHEMIST,{
mesn l("Councilor LawnCable");
mesq l("Maybe if... No... Hmm... I better try this the next time I'm at my laboratory...");
close;
OnInit:
.sex = G_MALE;
.distance = 5;
end;
}
003-0-2,47,30,0 script HC Crazyfefe NPC_LOF_RICH,{
mesn l("Councilor Crazyfefe");
mesq l("I want to arrest the Monster King one day, but until then, I'm happy getting rid of petty scammers, spammers, and general evildoers.");
close;
OnInit:
.sex = G_MALE;
.distance = 5;
end;
}
// NPC_BLACKWIZARD NPC_MIRAJ
// NPC_BELLA » Secretary
// When the council is in session, a lock raises
// And Bella explains the council is in session, to come back later
// NPCs may also speak stuff randomly
003-0-2,32,38,0 script High Council Secretary NPC_BELLA,{
mesn;
mesq l("Greetings. The council is currently in session, no one is allowed in the inner chambers.");
close;
OnInit:
.sex = G_MALE;
.distance = 5;
disablenpc .name$;
end;
}