Advertisement
idontusemyphone

Untitled

Nov 15th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  1. AMCD(do_user_actions)
  2. {
  3. char arg1[256];
  4. const char * line = one_argument(argument, arg1, sizeof(arg1));
  5.  
  6. if (*arg1)
  7. {
  8. switch(LOWER(*arg1))
  9. {
  10. case 'p': // poly
  11. {
  12. if (!(ch->IsPolymorphed()))
  13. return;
  14.  
  15. ch->SetPolymorph(0);
  16. ch->RemoveAffect(AFFECT_POLYMORPH);
  17. }
  18. break;
  19. case 'e': // exp
  20. {
  21.  
  22. }
  23. break;
  24. case 's': // safebox
  25. {
  26. ch->SetSafeboxOpenPosition();
  27. ch->ChatPacket(CHAT_TYPE_COMMAND, "ShowMeSafeboxPassword");
  28. }
  29. break;
  30. case 'b': // buy poly
  31. {
  32. enum {
  33. POLYMARBLE_MAX_MONSTER = 7,
  34. POLYMARBLE_MAX_COUNT = 100,
  35. POLYMARBLE_ITEM_VNUM = 70104,
  36. POLYMARBLE_PRICE = 10,
  37. };
  38.  
  39. WORD POLYMARBLE_AVAIL_RACE[POLYMARBLE_MAX_MONSTER] = {
  40. 101, 102, 103, 104, 105, 106, 107,
  41. };
  42.  
  43. WORD wIndex, wCount;
  44.  
  45. char arg2[256];
  46. char arg3[256];
  47.  
  48. two_arguments(line, arg2, sizeof(arg2), arg3, sizeof(arg3));
  49.  
  50. str_to_number(wIndex, arg2);
  51. str_to_number(wCount, arg3);
  52.  
  53. if (wIndex >= POLYMARBLE_MAX_MONSTER || wCount >= POLYMARBLE_MAX_COUNT)
  54. {
  55. ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Invalid arguments"));
  56. return;
  57. }
  58.  
  59. if (ch->GetGold() < POLYMARBLE_PRICE * wCount)
  60. {
  61. ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Not enough gold"));
  62. return;
  63. }
  64.  
  65. LPITEM item = NULL;
  66. if ((item = ITEM_MANAGER::instance().CreateItem(POLYMARBLE_ITEM_VNUM, wCount)))
  67. {
  68. item->SetSocket(0, POLYMARBLE_AVAIL_RACE[wIndex]);
  69.  
  70. int iEmptyPos = ch->GetEmptyInventory(item->GetSize());
  71. if (iEmptyPos != -1)
  72. {
  73. item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
  74.  
  75. ch->PointChange(POINT_GOLD, -(POLYMARBLE_PRICE * wCount), true);
  76. ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Success"));
  77. }
  78. else
  79. {
  80. ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ĽŇÁöÇ°żˇ şó °ř°ŁŔĚ ľř˝Ŕ´Ď´Ů."));
  81. M2_DESTROY_ITEM(item);
  82. }
  83. }
  84. }
  85. break;
  86. default;
  87. ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("±×·± ¸í·Éľî´Â ľř˝Ŕ´Ď´Ů"));
  88. break;
  89. }
  90. }
  91. else
  92. ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("±×·± ¸í·Éľî´Â ľř˝Ŕ´Ď´Ů"));
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement