public override void GiveRewards() { base.GiveRewards(); if (Owner.HasGump(typeof(BlueAcceptGump))) { Owner.CloseGump(typeof(BlueAcceptGump)); } Owner.SendGump(new BlueAcceptGump(Owner)); BlueMageSkySerpentQuest.ClearMarks(Owner); }
public override void OnResponse( NetState sender, RelayInfo info ) { if ( info.ButtonID == 10 ) return; if ( m_Question != 0 ) { switch( info.ButtonID ) { case 0: Sky++; break; case 1: Flame++; break; case 2: Gale++; break; case 3: Stone++; break; case 4: Spring++; break; } } if ( m_Question < 11 ) { if ( sender.Mobile.HasGump( typeof( BlueMageQuestionsGump ) ) ) sender.Mobile.CloseGump( typeof( BlueMageQuestionsGump ) ); sender.Mobile.SendGump( new BlueMageQuestionsGump( sender.Mobile, m_Ben, m_Question + 1, m_Serpent ) ); } else if ( sender.Mobile is PlayerMobile ) { PlayerMobile pm = (PlayerMobile)sender.Mobile; int[] highest = { -1, -1 }; for ( int i = 0; i < m_Serpent.Length; i++ ) { if ( m_Serpent[i] > highest[1] ) { highest[0] = i; highest[1] = m_Serpent[i]; } } BaseQuest bq = null; switch( highest[0] ) { default: bq = new BlueMageSkySerpentQuest( pm ); break; case 1: bq = new BlueMageFlameSerpentQuest( pm ); break; case 2: bq = new BlueMageGaleSerpentQuest( pm ); break; case 3: bq = new BlueMageStoneSerpentQuest( pm ); break; case 4: bq = new BlueMageSpringSerpentQuest( pm ); break; } if ( bq == null ) { pm.SendMessage( 33, "Error: Page a GM and tell him \"BM Questions failed to offer BM Serpent Quest\" immidately." ); return; } else { bq.Owner = pm; bq.Quester = m_Ben; if ( !QuestHelper.CanOffer( pm, bq, true ) ) { bq.StartingMobile.OnOfferFailed(); return; } } pm.CloseGump( typeof( MondainQuestGump ) ); pm.SendGump( new MondainQuestGump( bq ) ); } }