Example #1
0
 /// <summary>
 /// Returns true if this wall has been satisfied, false if the calling function should show a hint.
 /// </summary>
 private bool FnLavaWalls(YsPlayerServer player, MapEventType type, ref bool doMsgs, int wallBit, int itemType)
 {
     if (GetFlag(player, FlagTypeMap, 0x02) == 0x0f)
     {
         ShowMessage(player, doMsgs, "The walls have been satisfied. The way is clear.");
         return(true);
     }
     if ((GetFlag(player, FlagTypeMap, 0x02) & wallBit) == wallBit)
     {
         ShowMessage(player, doMsgs, "This wall is satisfied. There are yet more gifts to give.");
         return(true);
     }
     if (HasUsedItem(player, type, ref doMsgs, itemType, itemType) == 1)
     {
         player.RemoveItemByType(itemType, onlyOne: true);
         SetFlag(player, FlagTypeMap, 0x02, GetFlag(player, FlagTypeMap, 0x02) | wallBit);
         ShowMessage(player, doMsgs, "This gift satisfies the wall.");
         if (GetFlag(player, FlagTypeMap, 0x02) == 0x0f)
         {
             ShowMessage(player, doMsgs, "The walls have been satisfied. The way is clear.");
         }
         else
         {
             ShowMessage(player, doMsgs, "There are yet more gifts to give.");
         }
         return(true);
     }
     return(false);
 }