Jump to content

AnonUser

Members
  • Posts

    6
  • Joined

  • Last visited

Posts posted by AnonUser

  1. Ah okay I replaced it, the min MATK works but the max MATK displays as 0.

    Here's what I did though.

    /*
    * Calculates minimum magic attack
    */
    unsigned short status_base_matk_min(struct block_list *bl, const struct status_data* status, int level)
    {
        switch (bl->type) {
            case BL_PET:
            case BL_MOB:
            case BL_MER:
            case BL_ELEM:
                return status->int_ + level + status->rhw.matk * 70 / 100;
            case BL_HOM:
                return status_get_homint(bl) + level + (status_get_homint(bl) + status_get_homdex(bl)) / 5;
            case BL_PC:
            default:
            return status->int_ + (status->int_ / 7) * (status->int_ / 7);
        }
    }
    
    /*
    * Calculates maximum magic attack
    */
    unsigned short status_base_matk_max(struct block_list *bl, const struct status_data* status, int level)
    {
        switch (bl->type) {
            case BL_PET:
            case BL_MOB:
            case BL_MER:
            case BL_ELEM:
                return status->int_ + level + status->rhw.matk * 130 / 100;
            case BL_HOM:
                return status_get_homint(bl) + level + (status_get_homluk(bl) + status_get_homint(bl) + status_get_homdex(bl)) / 3;
            case BL_PC:
            default:
            return status->int_ + (status->int_ / 5) * (status->int_ / 5);
        }
    }


     

     

  2. Hi guys, as per topic; where do I change the formula for stats calculation to be based on pre-renewal? The renewal.h only affects stat points required to increase the stats.

    I want to use back the old MATK formula in a renewal based server.

    Also, the item 15090 cannot be worn by Sniper class despite description stating it is allowed. What is the correct equip_jobs to fix it?

×
×
  • Create New...