ID:2177380
 
(See the best response by Nadrew.)
Code:
var/list/PerkDatabase = typesof(/obj/Perk/builtin)

obj/Perk
name = ""
desc = ""
icon
var/textcolor = "white"
var/note

builtin
Strength1
name = "Power!"
desc = "This person has formidable physical strength, their arms and legs are lined with tone, possessing a figure above the rest."
icon = 'skillcards/sword_stance.png'
textcolor = "white"
note


Perk_List_View()
set name = "View Perk List"
set category = "Admin"
winshow(src, "PerkListW", 1)

var/width = 0
var/height = 1

for(var/obj/Perk/P in PerkDatabase)
if(width >= 4)
width = 0
height += 1
usr << output(P, "PerkGrid:[++width], [height]")


Problem description: Alright, so I'm trying to create a database to store information, in the case perks. The code above is what I'm using to test my system, but whenever I use the View Perk List verb the Grid is 100% blank. What am I doing wrong?

Best response
Because you're looping over a list of type paths, not a list of objects. Your "for(var/obj/Perk/P in PerkDatabase)" line picks nothing up. typesof() returns a list of paths, not a list of object references.