diff --git a/.project b/.project new file mode 100644 index 0000000..5e7754f --- /dev/null +++ b/.project @@ -0,0 +1,3 @@ +{ + 'srcDirectory' : '' +} \ No newline at end of file diff --git a/.properties b/.properties new file mode 100644 index 0000000..c2bedd4 --- /dev/null +++ b/.properties @@ -0,0 +1,3 @@ +{ + #format : #filetree +} \ No newline at end of file diff --git a/RoloLudo.package/.filetree b/RoloLudo.package/.filetree new file mode 100644 index 0000000..57a6797 --- /dev/null +++ b/RoloLudo.package/.filetree @@ -0,0 +1,5 @@ +{ + "separateMethodMetaAndSource" : false, + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/README.md b/RoloLudo.package/SfAsset.class/README.md new file mode 100644 index 0000000..f921a6c --- /dev/null +++ b/RoloLudo.package/SfAsset.class/README.md @@ -0,0 +1,6 @@ +I model an asset of the Ironsworn Starforged Tabletop Roleplaying Game. + +More information at: + +[1] https://www.ironswornrpg.com/ +[2] https://www.kickstarter.com/projects/shawntomkin/ironsworn-starforged \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/abilities..st b/RoloLudo.package/SfAsset.class/instance/abilities..st new file mode 100644 index 0000000..32ee912 --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/abilities..st @@ -0,0 +1,4 @@ +accessing +abilities: abilitiesDictionary + "Keys are 'enabled' and 'disbled' and both contain arrays of text with abities." + abilities := abilitiesDictionary \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/abilities.st b/RoloLudo.package/SfAsset.class/instance/abilities.st new file mode 100644 index 0000000..d94c853 --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/abilities.st @@ -0,0 +1,6 @@ +accessing +abilities + ^ abilities ifNil: [ abilities := Dictionary new + at: 'enabled' put: OrderedCollection new; + at: 'disabled' put: OrderedCollection new; + yourself ] \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/category..st b/RoloLudo.package/SfAsset.class/instance/category..st new file mode 100644 index 0000000..c50dbdd --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/category..st @@ -0,0 +1,3 @@ +accessing +category: anObject + category := anObject \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/category.st b/RoloLudo.package/SfAsset.class/instance/category.st new file mode 100644 index 0000000..04be151 --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/category.st @@ -0,0 +1,3 @@ +accessing +category + ^ category \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/fromDictionary..st b/RoloLudo.package/SfAsset.class/instance/fromDictionary..st new file mode 100644 index 0000000..deb2028 --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/fromDictionary..st @@ -0,0 +1,6 @@ +accessing +fromDictionary: aDictionary + name := aDictionary at: #Name. + category := aDictionary at: #Category. + abilities := self populateAbilities: (aDictionary at: #Abilities) + \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/language..st b/RoloLudo.package/SfAsset.class/instance/language..st new file mode 100644 index 0000000..e8175fe --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/language..st @@ -0,0 +1,3 @@ +accessing +language: anObject + language := anObject \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/language.st b/RoloLudo.package/SfAsset.class/instance/language.st new file mode 100644 index 0000000..6a19765 --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/language.st @@ -0,0 +1,3 @@ +accessing +language + ^ language \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/name..st b/RoloLudo.package/SfAsset.class/instance/name..st new file mode 100644 index 0000000..5a27110 --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/name..st @@ -0,0 +1,3 @@ +accessing +name: anObject + name := anObject \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/name.st b/RoloLudo.package/SfAsset.class/instance/name.st new file mode 100644 index 0000000..22077c2 --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ name \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/populateAbilities..st b/RoloLudo.package/SfAsset.class/instance/populateAbilities..st new file mode 100644 index 0000000..130e4d5 --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/populateAbilities..st @@ -0,0 +1,10 @@ +accessing +populateAbilities: abilitiesDictionary + + | enabled disabled | + enabled := abilitiesDictionary select: [ :abi | abi keys includes: 'Enabled' ]. + disabled := abilitiesDictionary reject: [ :abi | abi keys includes: 'Enabled' ]. + ^ self abilities + at: 'enabled' put: (enabled collect: [:abi | (abi at: 'Text') ]); + at: 'disabled' put: (disabled collect: [:abi | (abi at: 'Text') ]); + yourself. \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/translations..st b/RoloLudo.package/SfAsset.class/instance/translations..st new file mode 100644 index 0000000..96b1823 --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/translations..st @@ -0,0 +1,4 @@ +accessing +translations: translationsDictory + "Keys are ISO two letters language codes and values are the names of the asset in such language." + translations := translationsDictory \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/instance/translations.st b/RoloLudo.package/SfAsset.class/instance/translations.st new file mode 100644 index 0000000..68b56cb --- /dev/null +++ b/RoloLudo.package/SfAsset.class/instance/translations.st @@ -0,0 +1,3 @@ +accessing +translations + ^ translations \ No newline at end of file diff --git a/RoloLudo.package/SfAsset.class/properties.json b/RoloLudo.package/SfAsset.class/properties.json new file mode 100644 index 0000000..56ace12 --- /dev/null +++ b/RoloLudo.package/SfAsset.class/properties.json @@ -0,0 +1,17 @@ +{ + "commentStamp" : "", + "super" : "Object", + "category" : "RoloLudo", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "name", + "category", + "abilities", + "language", + "translations" + ], + "name" : "SfAsset", + "type" : "normal" +} \ No newline at end of file diff --git a/RoloLudo.package/SfAssets.class/README.md b/RoloLudo.package/SfAssets.class/README.md new file mode 100644 index 0000000..794b878 --- /dev/null +++ b/RoloLudo.package/SfAssets.class/README.md @@ -0,0 +1,4 @@ +I model a collection of Starforged assets. +I use as inspiration the data provided by @rsek at this repostory: + +https://github.com/rsek/datasworn \ No newline at end of file diff --git a/RoloLudo.package/SfAssets.class/instance/fromUrlString.language..st b/RoloLudo.package/SfAssets.class/instance/fromUrlString.language..st new file mode 100644 index 0000000..56a2529 --- /dev/null +++ b/RoloLudo.package/SfAssets.class/instance/fromUrlString.language..st @@ -0,0 +1,8 @@ +accessing +fromUrlString: aString language: isoCode + +| rawData | +rawData := STON fromString: aString asUrl retrieveContents. +self items: ((rawData at: 'Assets') collect: [:assetDict | + SfAsset new fromDictionary: assetDict; language: isoCode ]) + \ No newline at end of file diff --git a/RoloLudo.package/SfAssets.class/instance/items..st b/RoloLudo.package/SfAssets.class/instance/items..st new file mode 100644 index 0000000..75624f7 --- /dev/null +++ b/RoloLudo.package/SfAssets.class/instance/items..st @@ -0,0 +1,3 @@ +accessing +items: anObject + items := anObject \ No newline at end of file diff --git a/RoloLudo.package/SfAssets.class/instance/items.st b/RoloLudo.package/SfAssets.class/instance/items.st new file mode 100644 index 0000000..75a1b8c --- /dev/null +++ b/RoloLudo.package/SfAssets.class/instance/items.st @@ -0,0 +1,3 @@ +accessing +items + ^ items ifNil: [ items := OrderedCollection ] \ No newline at end of file diff --git a/RoloLudo.package/SfAssets.class/properties.json b/RoloLudo.package/SfAssets.class/properties.json new file mode 100644 index 0000000..a95cb88 --- /dev/null +++ b/RoloLudo.package/SfAssets.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "GlamorousAuthor 5/17/2021 16:41", + "super" : "Object", + "category" : "RoloLudo", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "items" + ], + "name" : "SfAssets", + "type" : "normal" +} \ No newline at end of file diff --git a/RoloLudo.package/monticello.meta/categories.st b/RoloLudo.package/monticello.meta/categories.st new file mode 100644 index 0000000..611a6e7 --- /dev/null +++ b/RoloLudo.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #RoloLudo! diff --git a/RoloLudo.package/monticello.meta/initializers.st b/RoloLudo.package/monticello.meta/initializers.st new file mode 100644 index 0000000..e69de29 diff --git a/RoloLudo.package/monticello.meta/package b/RoloLudo.package/monticello.meta/package new file mode 100644 index 0000000..bb2cb67 --- /dev/null +++ b/RoloLudo.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'RoloLudo') \ No newline at end of file diff --git a/RoloLudo.package/properties.json b/RoloLudo.package/properties.json new file mode 100644 index 0000000..6f31cf5 --- /dev/null +++ b/RoloLudo.package/properties.json @@ -0,0 +1 @@ +{ } \ No newline at end of file