summaryrefslogtreecommitdiff
path: root/npc/004-1/bgmaster.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/004-1/bgmaster.txt')
-rw-r--r--npc/004-1/bgmaster.txt214
1 files changed, 214 insertions, 0 deletions
diff --git a/npc/004-1/bgmaster.txt b/npc/004-1/bgmaster.txt
new file mode 100644
index 000000000..e9e68c29b
--- /dev/null
+++ b/npc/004-1/bgmaster.txt
@@ -0,0 +1,214 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+
+004-1,119,96,0 script Cassia NPC_FEMALE,{
+ mesn;
+ //if ($@BattleOn) goto L_Busy;
+ mesq l("Hello! I am @@, currently in charge of the Desert Pass.", .name$);
+ next;
+ atcommand("@time");
+ mesq l("The Fallen Kings challenge ownership of this pass at ##B08:00##b, ##B16:00##b and ##B00:00##b.");
+ next;
+ mesq l("Right click on one of their representatives, and choose to join a \'Chat\' when it is close of the time!");
+ next;
+ mesq l("Just as a warning, main chat will change. Use it to discuss the strategy!");
+ if (!getgmlevel()) goto L_Close;
+ mes "";
+ menu
+ rif(!$@BattleOn, l("Init!")), L_Init,
+ l("Join team 1."), L_T1,
+ l("Join team 2."), L_T2;
+
+L_T1:
+ mesn;
+ if (bg_join_team($@FK_Team1))
+ goto L_SuccessJoin;
+ mes "An error happened.";
+ goto L_Close;
+
+L_T2:
+ mesn;
+ if (bg_join_team($@FK_Team1))
+ goto L_SuccessJoin;
+ mes "An error happened.";
+ goto L_Close;
+
+L_SuccessJoin:
+ mesq l("Done!");
+ next;
+ warp "testbg", 0, 0;
+ close;
+
+L_Init:
+ .@Froz = getwaitingroomstate(0,"Emissary#1");
+ .@Hali = getwaitingroomstate(0,"Emissary#2");
+ if (!.@Froz || !.@Hali) {
+ mapannounce("004-1", "The Fallen King Event was cancelled.", bc_map);
+ }
+ mesn;
+ next;
+ $@BattleOn=1;
+ donpcevent("Emissary#1::SendToBattle");
+ donpcevent("Emissary#2::SendToBattle");
+ //bg_warp $@FK_Team1, "testbg", 13, 4;
+ //bg_warp $@FK_Team2, "testbg", 13, 26;
+ mesn;
+ next;
+ mesq str( bg_get_data($@FK_Team1, 0) );
+ mesq str( bg_get_data($@FK_Team2, 0) );
+ next;
+ //setbgteam $@FK_Team1, 1;
+ //setbgteam $@FK_Team2, 2;
+ //mesn;
+ //next;
+ mapannounce("testbg", "May the fight begin!", bc_map);
+ mesn;
+ next;
+ $@FKing_T1 = bg_monster($@FK_Team1, "testbg", 1, 1, "OldFallen", 1079, "Cassia::OnVictor2");
+ $@FKing_T2 = bg_monster($@FK_Team2, "testbg", 13, 28, "OldFallen2", 1080, "Cassia::OnVictor1");
+ mesn;
+ next;
+ initnpctimer();
+ close;
+
+L_Close:
+ close;
+
+L_Busy:
+ mesq l("Sorry, registration period is over.");
+ close;
+
+OnPcQuit:
+ warp "002-4", 0, 0;
+ bg_leave();
+ end;
+
+OnPcDeath:
+ warp "002-4", 0, 0;
+ bg_leave();
+ end;
+
+OnTimer30000:
+ if (getmapusers("testbg") < 2) goto L_RestartTimer;
+ mapannounce("testbg", "Reinforcements raise!", bc_map);
+ $@FKing_T1 = bg_monster($@FK_Team1, "testbg", 1, 1, "FallenGuard1", 1081, "Cassia::OnSkip");
+ $@FKing_T2 = bg_monster($@FK_Team2, "testbg", 13, 28, "FallenGuard2", 1082, "Cassia::OnSkip");
+ stopnpctimer();
+ initnpctimer();
+ end;
+
+OnClock2200:
+ announce "I am alive!", bc_all;
+ end;
+
+OnSkip:
+ end;
+
+L_Skip:
+ end;
+
+L_RestartTimer:
+ stopnpctimer();
+ initnpctimer();
+ end;
+
+OnVictor1:
+ if (!$@BattleOn) goto L_Skip;
+ stopnpctimer();
+ announce "Team 1 raises victorious!", bc_all;
+ bg_warp $@FK_Team1, "004-2", 29, 23;
+ bg_warp $@FK_Team2, "004-2", 29, 23;
+ bg_destroy($@FK_Team1);
+ bg_destroy($@FK_Team2);
+ $@BattleOn=0;
+ end;
+
+OnVictor2:
+ if (!$@BattleOn) goto L_Skip;
+ stopnpctimer();
+ announce "Team 2 raises victorious!", bc_all;
+ bg_warp $@FK_Team1, "004-2", 29, 23;
+ bg_warp $@FK_Team2, "004-2", 29, 23;
+ bg_destroy($@FK_Team1);
+ bg_destroy($@FK_Team2);
+ $@BattleOn=0;
+ end;
+
+OnInit:
+ .@npcId = getnpcid(0, .name$);
+ setunitdata(.@npcId, UDT_HEADTOP, 1322); // Dress
+ setunitdata(.@npcId, UDT_HEADMIDDLE, 2204); // Not needed
+ setunitdata(.@npcId, UDT_HEADBOTTOM, 1800); // Shoes
+ setunitdata(.@npcId, UDT_WEAPON, 3501);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 12);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 5);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 7;
+ // This script is TODO
+ if (!debug) {
+ disablenpc "Cassia";
+ }
+ end;
+}
+
+
+
+
+
+
+
+// This script is TODO WIP
+/*
+004-1,115,93,0 script Emissary#1 NPC_ELF,{
+ hello;
+
+OnSendToBattle:
+ $@FK_Team1=waitingroom2bg("testbg", 13, 4, "Cassia::OnPcQuit", "Cassia::OnPcDeath");
+ setbgteam $@FK_Team1, 1;
+ bg_warp $@FK_Team1, "testbg", 13, 4;
+ end;
+
+OnInit:
+ .@npcId = getnpcid(0, .name$);
+ setunitdata(.@npcId, UDT_HEADTOP, 1312); // Light armor
+ setunitdata(.@npcId, UDT_HEADMIDDLE, 2212); // Pants
+ setunitdata(.@npcId, UDT_HEADBOTTOM, 1800); // Shoes
+ setunitdata(.@npcId, UDT_WEAPON, 3501);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 13);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ waitingroom("Winterfall", 30, "Cassia::OnSkip", 1);
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
+
+
+004-1,117,93,0 script Emissary#2 NPC_ELF,{
+ hello;
+
+OnSendToBattle:
+ $@FK_Team2=waitingroom2bg("testbg", 13, 26, "Cassia::OnPcQuit", "Cassia::OnPcDeath");
+ setbgteam $@FK_Team2, 2;
+ bg_warp $@FK_Team2, "testbg", 13, 26;
+ end;
+
+OnInit:
+ .@npcId = getnpcid(0, .name$);
+ setunitdata(.@npcId, UDT_HEADTOP, 1311); // Terran armor
+ setunitdata(.@npcId, UDT_HEADMIDDLE, 2212); // Pants
+ setunitdata(.@npcId, UDT_HEADBOTTOM, 1800); // Shoes
+ setunitdata(.@npcId, UDT_WEAPON, 3501);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 13);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ waitingroom("Summerfall", 30, "Cassia::OnSkip", 1);
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+
+}
+*/