Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ITEM
- {
- public string name;
- public int roll_chance;
- public ITEM() {}
- public ITEM(ITEM other)
- {
- this.name = other.name;
- this.roll_chance = other.roll_chance;
- }
- }
- ITEM[] potion_data_list =
- {
- potion_data("confusion", 8, 50),
- potion_data("paralysis", 10, 50),
- potion_data("poison", 8, 50),
- potion_data("gain strength", 15, 150),
- potion_data("see invisible", 2, 170),
- potion_data("healing", 15, 30),
- potion_data("monster detection", 6, 120),
- potion_data("magic detection", 6, 105),
- potion_data("raise level", 2, 220),
- potion_data("extra healing", 5, 180),
- potion_data("haste self", 4, 200),
- potion_data("restore strength", 14, 120),
- potion_data("blindness", 4, 50),
- potion_data("thirst quenching", 1, 50),
- // roll_chances must add up to 100
- };
- // used to make entries in potion_data_list
- ITEM potion_data(string name, int roll_chance, int worth)
- {
- ITEM potion = new ITEM();
- potion.name = name;
- potion.roll_chance = roll_chance;
- return potion;
- }
- ITEM[] scroll_data_list =
- {
- scroll_data("monster confusion", 8, 170),
- scroll_data("magic mapping", 5, 180),
- scroll_data("light", 10, 100),
- scroll_data("hold monster", 2, 200),
- scroll_data("sleep", 5, 50),
- scroll_data("enchant armor", 8, 130),
- scroll_data("identify", 21, 100),
- scroll_data("scare monster", 4, 180),
- scroll_data("gold detection", 4, 110),
- scroll_data("teleportation", 7, 175),
- scroll_data("enchant weapon", 10, 150),
- scroll_data("create monster", 5, 75),
- scroll_data("remove curse", 8, 105),
- scroll_data("aggravate monsters", 1, 60),
- scroll_data("blank paper", 1, 50),
- scroll_data("genocide", 1, 200),
- };
- ITEM scroll_data(string name, int roll_chance, int worth)
- {
- ITEM scroll = new ITEM();
- scroll.name = name;
- scroll.roll_chance = roll_chance;
- return scroll;
- }
- ITEM roll_item_data_list(ITEM[] item_data_list)
- {
- int num_to_beat = 0;
- int roll = random(100);
- for (int i = 0; i < item_data_list.Length; i++)
- {
- num_to_beat += item_data_list[i].roll_chance;
- if (roll < num_to_beat)
- return new ITEM(item_data_list[i]);
- }
- }
- // in place_items() in new_level() ...
- // rolling new potion
- ITEM item = roll_item_data_list(potion_data_list);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement