Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 KB | None | 0 0
  1. void DiceMenuComponent::doRoll(CreatureObject* player, DiceTemplate* diceTemplate, int sides, const String& sidesText, int numRoll) const {
  2.  
  3.     StringIdChatParameter self("dice/dice", diceTemplate->getSelfSingleResult());
  4.     StringIdChatParameter others("dice/dice", diceTemplate->getOthersSingleResult());
  5.  
  6.     others.setTU(player->getFirstName());
  7.  
  8.     if (diceTemplate->isChanceCube()) {
  9.         if (System::random(1) == 1) {
  10.             self.setTO("red");
  11.             others.setTO("red");
  12.         } else {
  13.             self.setTO("blue");
  14.             others.setTO("blue");
  15.         }
  16.         others.setTT(player->getFirstName());
  17.     } else if (diceTemplate->isAbilityDie()) {
  18.         int rand = System::random(7); -- Roll 8 numbers, 0-7. based on FFG dice chart
  19.        
  20.         if (rand == 0) {
  21.             self.setTO("blank");
  22.             others.setTO("blank"); -- String: Playername's Ability dice rolled Blank
  23.         } else if (rand < 2) {
  24.             self.setTO("Success");
  25.             self.setTO("Success"); -- Rolled 1 success
  26.         } else if (rand == 3){
  27.             self.setTO("2_Sucess");
  28.             others.setTO("2_Sucess"); -- Rolled 2 successes
  29.         } else if (rand < 5){
  30.             self.setTO("advantage");
  31.             others.setTO("advantage"); -- rolled 1 advantage
  32.         } else if (rand == 6){
  33.             self.setTO("Sucess_Advantage");
  34.             others.setTO("Sucess_Advantage"); -- rolled 1 success and 1 Advantage
  35.         } else {
  36.             self.setTO("2_Advantage");
  37.             others.setTO("2_Advantage"); -- rolled 2 advantage
  38.         }
  39.            
  40.         } else {
  41.  
  42.         StringBuffer rolled;
  43.  
  44.         for(int i = 0; i < numRoll; ++i) {
  45.             if(i != 0)
  46.                 rolled << ",";
  47.             rolled << " " << System::random(sides - 1) + 1;
  48.         }
  49.  
  50.         self.setDI(sides);
  51.         others.setDI(sides);
  52.         self.setTT(sidesText);
  53.         others.setTT(sidesText);
  54.         self.setTO(rolled.toString());
  55.         others.setTO(rolled.toString());
  56.     }
  57.  
  58.     ChatSystemMessage* msg = new ChatSystemMessage(others,
  59.             ChatSystemMessage::DISPLAY_CHATANDSCREEN);
  60.  
  61.     player->broadcastMessage(msg, false);
  62.     player->sendSystemMessage(self);
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement