Kryx said: All item data has type called item_type_from_srd. I've attached my logic below: // snip Got some questions... Is there some combined data object where you store all the SRD data and is that accessible for additional data? I see that you have ShapedSheet.addEntities(...), but that only looks to cover armor. Where are all the other items? Is there a way that I, in another script, can access all the added entities? Can I assume that users of the shaped sheet script have created attachments that have all the data they want? What are all the fields for non-armor items? Is there a comprehensive list somewhere or do I need to go inspect all the character sheet fields and pull out a crystal ball as I guess what they're called? So after attempting an item lookup, it looks like... Armor: not a concern, assuming there's no more fields than what gets stuck in ShapedSheet.addEntities(). Ammo No clue what goes here :( Equipment name type weight weight_system weight_total toggle_details content roll_formula uses Offense: there are so many of these, I'm not going to try typing them out... Here's the output on a search-all after I converted all the results to json... Line 651: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_name",
Line 659: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_toggle",
Line 667: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_roll_formula",
Line 675: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_ability",
Line 683: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_damage_formula",
Line 691: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_damage_ability",
Line 699: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_string",
Line 707: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_formula",
Line 715: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_to_hit",
Line 723: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_damage_string",
Line 731: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_damage_average",
Line 739: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_weight_system",
Line 747: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_weight_total",
Line 755: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_damage_die",
Line 763: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_damage_type",
Line 771: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_second_damage_condition",
Line 779: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_second_damage_average",
Line 787: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_second_damage_bonus",
Line 795: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_second_damage_formula",
Line 803: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_second_damage_die",
Line 811: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_second_damage_type",
Line 819: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_toggle_details",
Line 827: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_proficiency",
Line 835: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_reach",
Line 843: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_damage_bonus",
Line 851: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_bonus",
Line 859: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_weight",
Line 867: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_weight_per_use",
Line 875: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_toggle",
Line 883: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_dc",
Line 891: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_damage_formula",
Line 899: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_damage_string",
Line 907: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_damage_average",
Line 915: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_ability",
Line 923: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_attack_second_damage_ability",
Line 931: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_bonus",
Line 939: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_damage_dice",
Line 947: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_damage_die",
Line 955: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_damage_ability",
Line 963: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_damage_type",
Line 971: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_second_damage_condition",
Line 979: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_second_damage_average",
Line 987: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_second_damage_die",
Line 995: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_second_damage_ability",
Line 1003: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_second_damage_formula",
Line 1011: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_second_damage_bonus",
Line 1019: "name": "repeating_offense_-LMN6J-GkNktiwVlHfdI_saving_throw_second_damage_type", Utility Line 1027: "name": "repeating_utility_-LMUUoHXqT-FzMvLae8F_name",
Line 1035: "name": "repeating_utility_-LMUUoHXqT-FzMvLae8F_weight_system",
Line 1043: "name": "repeating_utility_-LMUUoHXqT-FzMvLae8F_weight_total",
Line 1051: "name": "repeating_utility_-LMUUoHXqT-FzMvLae8F_uses",
Line 1059: "name": "repeating_utility_-LMUUoHXqT-FzMvLae8F_roll_formula",
Line 1060: "current": "{{uses=@{uses}}} {{repeating_item=repeating_utility_-lmuuohxqt-fzmvlae8f}} {{heal=[[2[bonus]]]}}",
Line 1067: "name": "repeating_utility_-LMUUoHXqT-FzMvLae8F_type",
Line 1075: "name": "repeating_utility_-LMUUoHXqT-FzMvLae8F_heal_toggle",
Line 1083: "name": "repeating_utility_-LMUUoHXqT-FzMvLae8F_heal_die",
Line 1091: "name": "repeating_utility_-LMUUoHXqT-FzMvLae8F_heal_bonus",
Line 1099: "name": "repeating_utility_-LMUUoHXqT-FzMvLae8F_weight",
Line 1107: "name": "repeating_utility_-LMUUoHXqT-FzMvLae8F_toggle_details", all of this is going to be a ton of work... Unless you have some import mechanism for items, I don't think I see myself getting around to it. Even on OGL, I didn't actually populate the attack and resource fields, leaving that up to the player...