restrict rare notifs to items generated from ItemRT

This commit is contained in:
Martin Michelsen
2024-01-01 10:24:18 -08:00
parent f1e00ccf0e
commit 2fda85c750
3 changed files with 89 additions and 71 deletions
+10 -5
View File
@@ -31,9 +31,14 @@ public:
void set_random_state(uint32_t seed, uint32_t absolute_offset);
void clear_destroyed_entities();
ItemData on_monster_item_drop(uint16_t entity_id, uint32_t enemy_type, uint8_t area);
ItemData on_box_item_drop(uint16_t entity_id, uint8_t area);
ItemData on_specialized_box_item_drop(uint16_t entity_id, uint8_t area, float def_z, uint32_t def0, uint32_t def1, uint32_t def2);
struct DropResult {
ItemData item;
bool is_from_rare_table = false;
};
DropResult on_monster_item_drop(uint16_t entity_id, uint32_t enemy_type, uint8_t area);
DropResult on_box_item_drop(uint16_t entity_id, uint8_t area);
DropResult on_specialized_box_item_drop(uint16_t entity_id, uint8_t area, float def_z, uint32_t def0, uint32_t def1, uint32_t def2);
void set_monster_destroyed(uint16_t entity_id);
void set_box_destroyed(uint16_t entity_id);
@@ -87,8 +92,8 @@ private:
bool are_rare_drops_allowed() const;
uint8_t normalize_area_number(uint8_t area) const;
ItemData on_monster_item_drop_with_area_norm(uint32_t enemy_type, uint8_t area_norm);
ItemData on_box_item_drop_with_area_norm(uint8_t area_norm);
DropResult on_monster_item_drop_with_area_norm(uint32_t enemy_type, uint8_t area_norm);
DropResult on_box_item_drop_with_area_norm(uint8_t area_norm);
uint32_t rand_int(uint64_t max);
float rand_float_0_1_from_crypt();