Page 1 of 1

BOD Commands for Taming

PostPosted: Sat Nov 05, 2011 1:04 pm
by Vividos
the [addbod and [cutbod commands do not work with taming bods. My guess is since they are not standard BOD's they dont exist in the special command .cs file.

Code: Select all
         protected override void OnTarget( Mobile from, object o )
         {
            if(o is SmallBOD)
            {
               SmallBOD bod = (SmallBOD)o;
               if(bod != null)
               {
                  if( bod.IsChildOf( from.Backpack ) )
                  {
                     switch(bod.AmountMax)
                     {
                        case 10:
                           {
                              from.SendMessage("That BOD is too small to be cut...");break;
                           }
                        case 15:
                           {
                              bod.AmountMax = 10;
                              if(bod.AmountCur > 10)bod.AmountCur=10;
                              from.SendMessage("You cut the BOD and get a new one of ten pieces...");break;
                           }
                        case 20:
                           {
                              from.SendMessage("Do you want to cut the BOD in two equal pieces ? ");
                              from.SendMessage("If not, it will be cut down into fifteen pieces...");
                              from.SendMessage("Y/N ?");
                              from.Prompt = new CutPrompt(bod);break;
                           }
                     }
                  }
                  else
                     from.SendMessage("That must be in your Backpack to use it !");
               }
            }
            else
               from.SendMessage("That is not a SmallBOD !");
         }
         


From the code I'm sure its just not defined within the (SmallBOD) listing. Also further down you'll likley need to add the exceptions for taming bods:

Code: Select all
public override void OnResponse( Mobile from, string text )
            {
               if ( m_Bod.Deleted || !from.InRange( m_Bod.GetWorldLocation(), 1 ) )
                  return;

               switch(text)
               {
                  case "y":
                     {
                        int rest = 0;
                        if(m_Bod.AmountCur > 10)
                        {
                           rest = m_Bod.AmountCur-10;
                           m_Bod.AmountCur=10;
                        }
                        m_Bod.AmountMax = 10;
                        
                        SmallBOD copy = null;
                        if(m_Bod is SmallSmithBOD)copy = new SmallSmithBOD(m_Bod.Hue, m_Bod.AmountMax, m_Bod.Type, m_Bod.Number, m_Bod.Graphic, m_Bod.RequireExceptional, m_Bod.Material);
                        else if(m_Bod is SmallTailorBOD)copy = new SmallTailorBOD(m_Bod.Hue, m_Bod.AmountMax, m_Bod.Type, m_Bod.Number, m_Bod.Graphic, m_Bod.RequireExceptional, m_Bod.Material);
                        copy.AmountCur = rest;
                        
                        from.AddToBackpack(copy);
                        from.SendMessage("You cut the BOD in two pieces...");
                        break;
                     }
                  case "n":
                     {
                        m_Bod.AmountMax = 15;
                        if(m_Bod.AmountCur > 15)m_Bod.AmountCur=15;
                        from.SendMessage("You cut the BOD and get a new one of fifteen pieces...");
                        break;
                     }
               }
            }
         }
      }


...so that m_Bod can can see if its a SmallTamingBOD and create the correct new ones.

Re: BOD Commands

PostPosted: Wed Nov 09, 2011 8:39 pm
by GhostRiderGrey
Unfortunately, Taming BODs come from a completely different system than the Tailor and Smithy BODs do. Its not just a simple matter to add a line of code for Taming BODS, its more involved than that. Our efforts to add such a line have been unsuccessful so far.


**EDIT**
How much do you love me? I could not modify the existing script, but was able to modify/rework a copy of the original script to do what we need for Taming with 2 new commands. New commands will be [addtamebod and [cuttamebod and will be active tomorrow morning.

:mrgreen: GhostRiderGrey

Re: BOD Commands

PostPosted: Wed Nov 09, 2011 9:58 pm
by Vividos
Now that is some love! And too funny...I just went outside for a smoke and was thinking it over and was like "Hrm.. I wonder if Ghost would be opposed to just adding new commands for them?" Excellent work there Ghost and much joy for all those working on taming bods. :)