public override bool OnMessage(BaseGameEntity pEntity, Telegram pTelegram) { BarFlyJoe joe = (BarFlyJoe)pEntity; switch (pTelegram.Msg) { case (int)message_type.Msg_DeclineFight: { DebugMessages.Instance.WriteLine(String.Format("{0}: Har har, ya'll a bunch o' yellow bellied chickens!", MainSM.GetEntityName(pEntity.ID()))); joe.GetFSM().ChangeState(new JoeDoChillin()); return(true); } case (int)message_type.Msg_AcceptFight: { joe.GetFSM().ChangeState(new JoeFight()); return(true); } } return(false); }
public override void Execute(BaseGameEntity pEntity) { BarFlyJoe joe = (BarFlyJoe)pEntity; if (joe.HP == 1) { // Lost fight! Tell Bob we are done. DebugMessages.Instance.WriteLine(String.Format("{0}: Ok ok Im beat! Mercy!", MainSM.GetEntityName(pEntity.ID()))); MessageDispatcher.Instance.DispatchMessage((int)MessageDispatcher.SEND_MSG_IMMEDIATELY, pEntity.ID(), (int)EntityName.ent_Miner_Bob, (int)message_type.Msg_DeclineFight, (int)MessageDispatcher.NO_ADDITIONAL_INFO); joe.GetFSM().ChangeState(new JoeDoChillin()); } else { // Throw a punch DebugMessages.Instance.WriteLine(String.Format("{0}: Eat mah knuckle!", MainSM.GetEntityName(pEntity.ID()))); MessageDispatcher.Instance.DispatchMessage((int)MessageDispatcher.SEND_MSG_IMMEDIATELY, pEntity.ID(), (int)EntityName.ent_Miner_Bob, (int)message_type.Msg_IncomingPunch, (int)MessageDispatcher.NO_ADDITIONAL_INFO); } }
public override bool OnMessage(BaseGameEntity pEntity, Telegram pTelegram) { BarFlyJoe joe = (BarFlyJoe)pEntity; switch (pTelegram.Msg) { case (int)message_type.Msg_IncomingPunch: { if (Utils.RandFloat() <= 0.5) { joe.HP = joe.HP - 1; DebugMessages.Instance.WriteLine(String.Format("{0}: Gaah Im hit!", MainSM.GetEntityName(pEntity.ID()))); } else { DebugMessages.Instance.WriteLine(String.Format("{0}: Missed me, sucker!", MainSM.GetEntityName(pEntity.ID()))); } return(true); } case (int)message_type.Msg_DeclineFight: { DebugMessages.Instance.WriteLine(String.Format("{0}: That'll teach ya to mess with an alchoholic!", MainSM.GetEntityName(pEntity.ID()))); joe.GetFSM().ChangeState(new JoeDoChillin()); return(true); } } return(false); }
private void Thread_ProgressChanged(object sender, ProgressChangedEventArgs e) { ArrayList arrReturnValue = DebugMessages.Instance.FlushMessages(); foreach (string strLine in arrReturnValue) { if (strLine.StartsWith(MainSM.GetEntityName((int)EntityName.ent_Miner_Bob))) { txtUpdates.SelectionColor = mColourBob; } else if (strLine.StartsWith(MainSM.GetEntityName((int)EntityName.ent_Elsa))) { txtUpdates.SelectionColor = mColourElsa; } else if (strLine.StartsWith(MainSM.GetEntityName((int)EntityName.ent_BarFly))) { txtUpdates.SelectionColor = mColourBarFly; } else { txtUpdates.SelectionColor = Color.Black; } txtUpdates.AppendText(strLine + Environment.NewLine); } if (e.ProgressPercentage == 100) { txtUpdates.SelectionColor = Color.Black; txtUpdates.AppendText(Environment.NewLine + "Demo Complete!" + Environment.NewLine); } else { lblLocationBob.Text = MainSM.GetLocation((int)Bob.Location); lblStatusBob.Text = Bob.GetFSM().CurrentState.GetType().Name.ToString(); lblLocationWife.Text = MainSM.GetLocation((int)Elsa.Location); lblStatusWife.Text = Elsa.GetFSM().CurrentState.GetType().Name.ToString(); lblLocationBarFly.Text = MainSM.GetLocation((int)Joe.Location); lblStatusBarFly.Text = Joe.GetFSM().CurrentState.GetType().Name.ToString(); } }
public override void Execute(BaseGameEntity pEntity) { BarFlyJoe joe = (BarFlyJoe)pEntity; if (!joe.Angered) { DebugMessages.Instance.WriteLine(String.Format("{0}: Ahh, jus' drinkin'", MainSM.GetEntityName(pEntity.ID()))); joe.Drunkeness = joe.Drunkeness + 1; if (joe.Drunkeness > BarFlyJoe.AlchoAngerSwitch) { DebugMessages.Instance.WriteLine(String.Format("{0}: Feelin drunk and angry! I need a fight...", MainSM.GetEntityName(pEntity.ID()))); joe.Angered = true; } } if (joe.Angered) { Miner bob = (Miner)MessageDispatcher.Instance.GetRegisteredEntityFromID((int)EntityName.ent_Miner_Bob); if (bob.Location != location_type.saloon) { if (Utils.RandFloat() <= 0.5) { DebugMessages.Instance.WriteLine(String.Format("{0}: Damnit no one here to fight with!", MainSM.GetEntityName(pEntity.ID()))); } else { DebugMessages.Instance.WriteLine(String.Format("{0}: Burp! Grr Im not a happy *hic* cowboy.", MainSM.GetEntityName(pEntity.ID()))); } } else { joe.GetFSM().ChangeState(new JoeDoAntagonizin()); } } }