#|

When I started this file I was going to generalize EVERY method then I
realized that's too time consuming. So I am going to generalize
methods as they conflict. Hybrid Power!

There were some issues with merging symbols, I was using
:SHADOWING-IMPORT-FROM which is probably not correct. So instead, what
we do, is, every package that gets :USE-REEXPORTed, we :USE
#:CL-DECK-BUILDER2.MODELS.GENERICS.

|#

(in-package #:cl-deck-builder2.models.generics)

;; Get the NAME slot of an object
(defgeneric name-of (obj))

;; Get the PASSCODE slot of an object
(defgeneric ygo-passcode-of (obj))

;; Get the Containing Deck ID of the DECK-ITEM, CONSTRUCTED-DECK-ITEM
(defgeneric deck-id-of (obj))

;; Get the PRICE slot of an object
(defgeneric ygo-price-of (obj))

(defgeneric ygo-archetype-of (obj))
(defgeneric ygo-atk-of (obj))
(defgeneric ygo-attribute-of (obj))
(defgeneric ygo-def-of (obj))
(defgeneric ygo-description-of (obj))
(defgeneric ygo-frame-type-of (obj))
(defgeneric ygo-level-of (obj))
(defgeneric ygo-linkmarkers-of (obj))
(defgeneric ygo-linkval-of (obj))
(defgeneric ygo-passcode-of (obj))
(defgeneric ygo-race-of (obj))
(defgeneric ygo-scale-of (obj))
(defgeneric ygo-type-of (obj))
