Jump to content

Elin:Code Analysis/Faith: Difference between revisions

Line 102: Line 102:
** If this meat is unlabelled (i.e. not being a meat drop by entity) the value is further divided by 10.  
** If this meat is unlabelled (i.e. not being a meat drop by entity) the value is further divided by 10.  
** Because the divide operator is rounding down to nearest int, this means it is possible to obtain 0 offer value if you are offering unlabelled meat lower than 0.1s.
** Because the divide operator is rounding down to nearest int, this means it is possible to obtain 0 offer value if you are offering unlabelled meat lower than 0.1s.
** Because the decayed check is done after the 0 offer value check, you won't get 0 offer value if your item is only rotten, but lablled.
* If the item is of category a god will take (not meat), then:
*** So a labelled, 0.7s meat will generate a offer value of 70.
* If the item is of category a god will take, then:
** The weight of item is divided by 10, but with a minimum value of 50 and maximum value of 1000.
** The weight of item is divided by 10, but with a minimum value of 50 and maximum value of 1000.
*** The weight of item will still count, but anything less than 0.5s will count as 0.5s.
*** Therefore, the weight of item will still count, but anything less than 0.5s will count as 0.5s.
** The number is then multiplied by the category value.
** The number is then multiplied by the category value.
*** As of '''EA23.61''', the multipler apply to instrument(*5), rod (*3), catalyst (*3), ancient book (*5), spell book (*4), skill book (*10), map (*4).
*** As of '''EA23.61''', the multipler apply to instrument(*5), rod (*3), catalyst (*3), ancient book (*5), spell book (*4), skill book (*10), map (*4).
* If the item is decayed (rotten), the offer value is further divided by 10.
* If the item is decayed (rotten), the offer value is further divided by 10.
** Because the decayed check is done after the 0 offer value check, you won't get 0 offer value if your item is only rotten, but lablled.
** For example a labelled, 0.7s non-rotten meat will generate a offer value of 70.
* The offer value will '''increase by 2%''' per each level of the item. (See in resource/things/LV. Meat and most items are LV 1, most equipments range from 10-20, rarest at lv 60)
* The offer value will '''increase by 2%''' per each level of the item. (See in resource/things/LV. Meat and most items are LV 1, most equipments range from 10-20, rarest at lv 60)
** ...At least that is what SUPPOSED TO HAPPEN! Because C# treat divide operator between two integers as round down to an int, instead of creating a float number, this code basically does ABSOLUTELY NOTHING when LV < 50.
** ...At least that is what SUPPOSED TO HAPPEN! Because C# treat divide operator between two integers as round down to an int, instead of creating a float number, this code basically does ABSOLUTELY NOTHING when LV < 50.
362

edits