強化アイテムの処理

TW_UsebleItem.Q


qUseItem1000100() //魔力強化剤(大)
{
  object item;
   integer randomValue;
   integer mapChk = trigger.getWorld().getNumber();
   if (!NormalItemCanBeUsed()) return;

  item = controller.getObjectArgumentAt(0);
   // タッタ忞。 ソテカ」 セニタフナロタホチ・テシナゥ
   if (item.isLocked()) {
       trigger.message(TEXT_USABLEITEM_CANT_LOCKED, MSG_TYPE__SYSTEM);
       return;
   }
   if (!trigger.isMonster() && item && item.isEquippable()) {
       if (!checkManufactureCnt(item)) return;
       if (!checkMinMax(item, TEIP__MAGIC_ATTACK)) return;
       if (!checkMinMaxOfMax(item, TEIP__ENDURANCE, -1)) return;

      if(item.getTEIP(TEIP__MAGIC_ATTACK)==item.getLowerOrUpperTEIP(TEIP__MAGIC_ATTACK, TEIP__MAX_LIMIT))
       {
           trigger.message(TEXT_USABLEITEM_CANT_USE_UPGRADE_ITEM, MSG_TYPE__SYSTEM);
           return;
       }


  //ここまでテンプレ

      randomValue = Util.random(11,11);//強化値の設定 本来は2-4
       if (mapChk == 7){ //試験的にビアヌ神殿で成功させるように
           trigger.message("神聖なる聖域により強化が成功します",MSG_TYPE__SYSTEM);
       }else{ //確率が下回ったら強化値をマイナスに
           if(Util.random(0 , 100) < 50)randomValue *= -1; //50%の確率でマイナス
       }        
       //強化上限のチェック?
       if (item.getLowerOrUpperTEIP(TEIP__MAGIC_ATTACK, TEIP__MAX_LIMIT) < item.getTEIP(TEIP__MAGIC_ATTACK) + randomValue)    //ー皺嵓ェタフ テヨエ・。コクエル ウサー豼・テヨエ・。キホ コクチ、
       {
           randomValue = item.getLowerOrUpperTEIP(TEIP__MAGIC_ATTACK, TEIP__MAX_LIMIT) - item.getMaxTEIP(TEIP__MAGIC_ATTACK);
           if (randomValue < 1) randomValue = 0;
           item.setTEIP(TEIP__MAGIC_ATTACK, item.getLowerOrUpperTEIP(TEIP__MAGIC_ATTACK, TEIP__MAX_LIMIT));
       }
       else item.setTEIP(TEIP__MAGIC_ATTACK, item.getTEIP(TEIP__MAGIC_ATTACK) + randomValue); // setTEIP and setMaxTEIP in Item class have already included update func
       item.setManufactureCnt(item.getManufactureCnt() + 1);
       item.setMaxTEIP(TEIP__ENDURANCE, item.getMaxTEIP(TEIP__ENDURANCE) - 1);

      trigger.message(TEXT_USABLEITEM_ATTACK_INT + randomValue + TEXT_USABLEITEM_MANUFACTURE_UP , MSG_TYPE__SYSTEM);

      //強化限界値ならメッセージ
       if(item.getTEIP(TEIP__MAGIC_ATTACK)==item.getLowerOrUpperTEIP(TEIP__MAGIC_ATTACK, TEIP__MAX_LIMIT))
           trigger.message(TEXT_USABLEITEM_CANT_UPGRADE_OVER_LIMIT, MSG_TYPE__SYSTEM);

      // send using effect
       controller.effectBy(trigger);

      // decrease number
       if (controller.canBeExhausted())
           controller.decreaseNumber(1);//アイテムの消費
   }
}


マイナス引き当てたときにメッセージが+-11みたいに表示されてしまうのでそこら辺を正しく表示させる方法を模索中。

  • 最終更新:2016-10-03 22:53:27

このWIKIを編集するにはパスワード入力が必要です

認証パスワード