diff options
Diffstat (limited to 'npc/004-1/bgmaster.txt')
-rw-r--r-- | npc/004-1/bgmaster.txt | 214 |
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; + +} +*/ |