diff --git a/source/ai.adb b/source/ai.adb index 0a86818..b545042 100644 --- a/source/ai.adb +++ b/source/ai.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, ui, ai; +with core, ui; package body ai is @@ -30,78 +30,6 @@ package body ai is procedure action_talk is begin null; end action_talk; procedure action_find is begin null; end action_find; - ------------------------------------------------------------------------------------------ - - procedure serialize (i : in natural) is - begin - --~if actor_is_bored (i) and actor_is_healthy (i) and not actor_is_hungry (i) then - null; - --~end if; - end serialize; - - ------------------------------------------------------------------------------------------ - - procedure configure is - begin - core.echo (core.failure, "No AI yet folk!"); - end configure; - - ------------------------------------------------------------------------------------------ - - procedure synchronize is - begin - null; - end synchronize; - - ------------------------------------------------------------------------------------------ - - procedure review is - --~width : integer := 600; - --~height : integer := 300; - --~offset : integer := 32; - --~x : integer := (core.window_width - width) / 2; - --~y : integer := (core.window_height - height) / 2; - begin - --~ui.draw_tiny_menu (x, y, width, height); - --~for index in 1 .. actor_count loop - --~core.write ("Bot" & index'image, x + offset + 0, y * index + offset, ui.glyphs (ui.active)); - --~core.write ("T =" & actor_is_thirsty (index)'image, x + offset + 120, y * index + offset, ui.glyphs (ui.active)); - --~core.write ("H =" & actor_is_hungry (index)'image, x + offset + 240, y * index + offset, ui.glyphs (ui.active)); - --~end loop; - null; - end review; - - ------------------------------------------------------------------------------------------ - - procedure view_actor_state (index : in integer) is - width : integer := 320; - height : integer := 544; - offset : integer := 32; - x : integer := (core.window_width - width) / 2; - y : integer := (core.window_height - height) / 2; - begin - ui.draw_tiny_menu (x, y, width, height); - -- - active := index; - -- - ui.write (male_name_array (actor (index).name), x + offset, y + offset); - -- - ui.write ("Envious = " & actor_is_envious'image, x + offset, y + offset + 32); - ui.write ("Glutton = " & actor_is_glutton'image, x + offset, y + offset + 64); - ui.write ("Greedy = " & actor_is_greedy'image, x + offset, y + offset + 96); - ui.write ("Slutty = " & actor_is_slutty'image, x + offset, y + offset + 128); - ui.write ("Proud = " & actor_is_proud'image, x + offset, y + offset + 160); - ui.write ("Lazy = " & actor_is_lazy'image, x + offset, y + offset + 192); - ui.write ("Angry = " & actor_is_angry'image, x + offset, y + offset + 224); - ui.write ("Thirsty = " & actor_is_thirsty'image, x + offset, y + offset + 256); - ui.write ("Hungry = " & actor_is_hungry'image, x + offset, y + offset + 288); - ui.write ("Tired = " & actor_is_tired'image, x + offset, y + offset + 320); - ui.write ("Lonely = " & actor_is_lonely'image, x + offset, y + offset + 352); - ui.write ("Healthy = " & actor_is_healthy'image, x + offset, y + offset + 384); - ui.write ("Happy = " & actor_is_happy'image, x + offset, y + offset + 416); - ui.write ("Bored = " & actor_is_bored'image, x + offset, y + offset + 448); - end view_actor_state; - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end ai; diff --git a/source/ai.ads b/source/ai.ads index 06abe74..e298db3 100644 --- a/source/ai.ads +++ b/source/ai.ads @@ -12,42 +12,6 @@ package ai is none, walk, talk, find ); - subtype string_16 is string (1 .. 16); - - type name_limit is mod 400; - type clan_limit is mod 120; - type data_limit is mod 256; - - -- CONCIOUSNESS - -- UNCONCIOUSNESS - -- COLLECTIVE UNCONCIOUSNESS - -- - -- somatic / psychic - -- - -- leave legacy - -- -- outlaw - liberation - -- -- magician - power - -- -- hero - mastery - -- pursue connection - -- -- lover - intimacy - -- -- jester - enjoyment - -- -- everyman - belonging - -- provide structure - -- -- caregiver - service - -- -- ruler - control - -- -- creator - innovation - -- explore spirituality - -- -- innocent - safety - -- -- sage - understanding - -- -- explorer - freedom - -- - -- I - -- Anima/Animus - -- Shadow - -- Persona - -- - -- Trickster ? - type action_data is record base : data_limit; data : core.pointer; @@ -71,132 +35,6 @@ package ai is procedure action_talk; procedure action_find; - ------------------------------------------------------------------------------------------ - - male_name_array : constant array (name_limit) of string_16 := ( - "Unumis ", "Aardappel ", "Aaron ", "Abel ", "Abgar ", "Abiathar ", "Abijah ", "Abraham ", - "Abram ", "Absolom ", "Adam ", "Adonijah ", "Ael ", "Aghasi ", "Aidan ", "Ajnak ", - "Aknunbi ", "Alexan ", "Alishan ", "Alvedos ", "Aman ", "Amaras ", "Amariah ", "Amoz ", - "Amozthel ", "Amurin ", "Amuu ", "Anairiah ", "Anak ", "Andranik ", "Andro ", "Anushavan ", - "Ara ", "Arakel ", "Aram ", "Aramagd ", "Arayik ", "Ardelico ", "Armen ", "Arsen ", - "Artem ", "Arthur ", "Asa ", "Asaph ", "Asher ", "Asnio ", "Aspet ", "Atrushan ", - "Ava ", "Avag ", "Aygek ", "Azariah ", "Azat ", "Aznavur ", "Babken ", "Baelos ", - "Barak ", "Barsegh ", "Baruch ", "Barunak ", "Bashkhi ", "Benaiah ", "Bildad ", "Cain ", - "Calah ", "Caleb ", "Camon ", "Chenon ", "Dan ", "Daniel ", "David ", "Davtak ", - "Delayahu ", "Derenik ", "Dnei ", "Dovin ", "Drastamat ", "Eahenos ", "Ebenezer ", "Eihrul ", - "Elah ", "Eleazar ", "Eli ", "Eliah ", "Elihu ", "Elijah ", "Eliphaz ", "Elisha ", - "Elkanah ", "Elnathan ", "Emmanuel ", "Enoch ", "Ephraim ", "Esau ", "Ethan ", "Ezekiel ", - "Ezubesh ", "Faegal ", "Fairhim ", "Famnah ", "Faneon ", "Farathen ", "Feanel ", "Gabriel ", - "Gale ", "Galust ", "Gamar ", "Garegin ", "Garnik ", "Geanos ", "Gegham ", "Gera ", - "Gerena ", "Gershon ", "Gevorg ", "Gharip ", "Ghazaros ", "Ghevond ", "Ghukas ", "Gideon ", - "Gind ", "Glak ", "Gnel ", "Gor ", "Grigor ", "Haan ", "Hacob ", "Haeden ", - "Haegor ", "Haefel ", "Haffthel ", "Haffroht ", "Haggai ", "Haman ", "Hamazasp ", "Hamlik ", - "Hayastan ", "Haydug ", "Hayk ", "Haykashen ", "Haykazn ", "Hazdan ", "Helden ", "Helg ", - "Helnor ", "Hetum ", "Heviathan ", "Hosea ", "Hovakim ", "Hovik ", "Hovnel ", "Hovsep ", - "Hrand ", "Hrayr ", "Hushai ", "Ira ", "Iradon ", "Ireanok ", "Irenadal ", "Irinei ", - "Irodes ", "Isaac ", "Isaiah ", "Ishmael ", "Ishnil ", "Jacob ", "Jair ", "Janes ", - "Japheth ", "Jason ", "Javan ", "Jeremiah ", "Jesiah ", "Jethera ", "Joab ", "Joash ", - "Job ", "Jogunel ", "Johuna ", "Jonah ", "Jonathan ", "Jordan ", "Joseph ", "Joshua ", - "Judas ", "Kaggen ", "Kagion ", "Kain ", "Kamo ", "Karapet ", "Karen ", "Karin ", - "Kasas ", "Kastag ", "Kattenion ", "Kaytsak ", "Kearni ", "Kemuel ", "Kenan ", "Kenaz ", - "Kerioth ", "Khacheres ", "Khad ", "Khajak ", "Khoren ", "Khosrov ", "Konstandin ", "Koryun ", - "Layin ", "Lazarus ", "Leishin ", "Lemuel ", "Lenoch ", "Lenumin ", "Leon ", "Lepranik ", - "Lernik ", "Levi ", "Levon ", "Liparit ", "Loris ", "Lot ", "Lucian ", "Lynth ", - "Makar ", "Manasseh ", "Margar ", "Martik ", "Mashtots ", "Matthew ", "Matthias ", "Mekhak ", - "Melkon ", "Mesrop ", "Michael ", "Mihran ", "Milrad ", "Minas ", "Mkhitar ", "Movses ", - "Mushegh ", "Myne ", "Nadab ", "Nahum ", "Naphtali ", "Nar ", "Narek ", "Narinth ", - "Nathan ", "Nathanael ", "Natten ", "Naumen ", "Navasard ", "Nazaret ", "Nehemiah ", "Nekoda ", - "Nekudin ", "Neldenah ", "Nelh ", "Nepria ", "Nerses ", "Nev ", "Neven ", "Nevosh ", - "Nikoghos ", "Nimuo ", "Noah ", "Norayr ", "Norik ", "Obadiah ", "Obed ", "Ogsen ", - "Olaph ", "Omar ", "Onnip ", "Ornhul ", "Oshakan ", "Paghtazar ", "Oshin ", "Othniel ", - "Pargev ", "Paruyr ", "Paul ", "Peto ", "Phinehas ", "Raamah ", "Renael ", "Reuben ", - "Rhaman ", "Roderich ", "Rott ", "Sago ", "Sahak ", "Samson ", "Samuel ", "Sanasar ", - "Sargis ", "Saro ", "Sasun ", "Saul ", "Saurkano ", "Sava ", "Savashin ", "Sedah ", - "Sedrak ", "Seth ", "Sevak ", "Shaden ", "Shadrach ", "Shahan ", "Shant ", "Shara ", - "Shem ", "Shnorhali ", "Simeon ", "Sion ", "Sirakan ", "Slak ", "Slaven ", "Slein ", - "Solomon ", "Sora ", "Sukias ", "Tadeos ", "Tagavor ", "Tamnuhl ", "Taron ", "Tatev ", - "Teneshel ", "Tenian ", "Thaddeus ", "Thomas ", "Tiamath ", "Tirayr ", "Tirazan ", "Tirit ", - "Tobiah ", "Tobias ", "Tonapet ", "Tork ", "Tornik ", "Trdat ", "Tukhayr ", "Ulukai ", - "Uldrel ", "Umenok ", "Umiyen ", "Unakan ", "Unearo ", "Uri ", "Uria ", "Uriah ", - "Uriel ", "Uzziah ", "Vagharshak ", "Vahagn ", "Vahan ", "Vahe ", "Vahram ", "Vakhtang ", - "Van ", "Vanakan ", "Vanand ", "Varag ", "Vardan ", "Vardges ", "Vareos ", "Vash ", - "Vazgen ", "Vazrik ", "Veleon ", "Veleshin ", "Vigen ", "Vordi ", "Vorotan ", "Voskan ", - "Vostan ", "Vrej ", "Yaan ", "Yaruga ", "Yashal ", "Ydelen ", "Yeghia ", "Yeghivard ", - "Yenovk ", "Yeprem ", "Yeremia ", "Yerjanik ", "Yeznik ", "Yezr ", "Yiin ", "Zacchaeus ", - "Zachariah ", "Zahn ", "Zareh ", "Zarmayr ", "Zaven ", "Zebadiah ", "Zedekiah ", "Zinthel " - ); - - female_name_array : constant array (name_limit) of string_16 := ( - "Haen ", "Abigail ", "Abishai ", "Adah ", "Adina ", "Adriel ", "Aednat ", "Aelena ", - "Aghavni ", "Aghvor ", "Ai ", "Ailish ", "Alik ", "Alin ", "Amanor ", "Amanthia ", - "Amaroch ", "Amenora ", "Anahit ", "Anea ", "Anelia ", "Angela ", "Angine ", "Ani ", - "Anka ", "Antaram ", "Aoma ", "Aorire ", "Araksi ", "Araz ", "Arevik ", "Ariel ", - "Arman ", "Armenuhi ", "Arpi ", "Arta ", "Arya ", "Atarah ", "Ayovina ", "Azatuhi ", - "Azganush ", "Azniv ", "Bari ", "Bathsheba ", "Bavakan ", "Bekah ", "Beleni ", "Bersare ", - "Bethel ", "Beulah ", "Byurakan ", "Calah ", "Carmel ", "Cenlea ", "Chloe ", "Clement ", - "Cynthia ", "Dalar ", "Damaris ", "Daniela ", "Dapni ", "Daruhi ", "Dayana ", "Deborah ", - "Delilah ", "Devana ", "Dilijan ", "Dosa ", "Ea ", "Eamara ", "Eano ", "Eden ", - "Edna ", "Elint ", "Elisha ", "Eliza ", "Elizabeth ", "Elena ", "Emma ", "Erebuni ", - "Esther ", "Eunice ", "Eva ", "Eve ", "Evelyn ", "Freiya ", "Gadelin ", "Garik ", - "Gayane ", "Geghani ", "Gethetsik ", "Hadassah ", "Hagar ", "Hannah ", "Hasmik ", "Heghine ", - "Heinon ", "Hel ", "Hermine ", "Hia ", "Hian ", "Hieshen ", "Hiina ", "Hiva ", - "Hrut ", "Huldah ", "Ibel ", "Idaa ", "Idena ", "Ignath ", "Igni ", "Inatani ", - "Inaa ", "Inastuni ", "Iskuhi ", "Iskuk ", "Itiona ", "Jaab ", "Jael ", "Java ", - "Javshelin ", "Joanna ", "Jodi ", "Jordan ", "Jovana ", "Judeash ", "Judith ", "Juna ", - "Junith ", "Juno ", "Kabvenia ", "Kac ", "Kadith ", "Kadeash ", "Kaghruhi ", "Kaiga ", - "Kaigashel ", "Kaliya ", "Kami ", "Karen ", "Karine ", "Karun ", "Kasadya ", "Katarina ", - "Katerine ", "Katelia ", "Kathleen ", "Kayona ", "Kerath ", "Khatun ", "Knar ", "Kora ", - "Kristine ", "Labial ", "Lada ", "Lakera ", "Lala ", "Lalik ", "Lasia ", "Lea ", - "Leah ", "Lekshea ", "Lelkja ", "Lena ", "Lerinael ", "Levontin ", "Lila ", "Lili ", - "Lilith ", "Loashin ", "Lois ", "Lorik ", "Luna ", "Lusatsin ", "Luseres ", "Lusine ", - "Lusnak ", "Lusvard ", "Lydia ", "Lyrana ", "Mane ", "Mara ", "Marah ", "Margarit ", - "Mari ", "Maria ", "Mariam ", "Marine ", "Marta ", "Martha ", "Mary ", "Matlen ", - "Meghedi ", "Meline ", "Menik ", "Merina ", "Michal ", "Mina ", "Miriam ", "Mishael ", - "Mod ", "Molhui ", "Morava ", "Morghana ", "Mothai ", "Myra ", "Nada ", "Nain ", - "Naira ", "Nane ", "Naomi ", "Narduhi ", "Narine ", "Nazani ", "Nazeli ", "Nazuk ", - "Nektar ", "Nena ", "Neriah ", "Nevena ", "Nina ", "Nodelia ", "Nonein ", "Nora ", - "Norinai ", "Nova ", "Nouthi ", "Nuritsa ", "Nushik ", "Obea ", "Ocaere ", "Oda ", - "Odnesha ", "Odlish ", "Olia ", "Omniya ", "Oneraa ", "Ophrah ", "Orpah ", "Ovha ", - "Rachel ", "Rebeshi ", "Rebekah ", "Rei ", "Reitheli ", "Rera ", "Rershia ", "Rev ", - "Revesha ", "Rhei ", "Rhoda ", "Rita ", "Rorail ", "Rubel ", "Runa ", "Rupina ", - "Ruth ", "Ruzan ", "Sabbash ", "Sade ", "Sadyush ", "Sai ", "Saigon ", "Saisha ", - "Sanahin ", "Sanan ", "Sara ", "Sarah ", "Sarai ", "Sarine ", "Satenik ", "Seda ", - "Seki ", "Selena ", "Seniya ", "Senkaya ", "Ser ", "Sevan ", "Shahanik ", "Shake ", - "Shamam ", "Sharin ", "Sharmagh ", "Sharon ", "Shev ", "Shina ", "Shoghakat ", "Shoghik ", - "Shonah ", "Shushan ", "Shusho ", "Silva ", "Siranush ", "Siruhi ", "Sokhak ", "Sonia ", - "Sose ", "Spera ", "Sui ", "Suisei ", "Susannah ", "Tabeth ", "Tad ", "Tadeonia ", - "Talin ", "Talita ", "Talitha ", "Tama ", "Tamara ", "Tamashi ", "Tamnuh ", "Tanyuha ", - "Tanyushia ", "Tankagin ", "Taorin ", "Teana ", "Tenchali ", "Terah ", "Tereza ", "Tesil ", - "Tharin ", "Thabetal ", "Thea ", "Theresha ", "Tiruhi ", "Tirzah ", "Titer ", "Tiubahni ", - "Uahara ", "Uani ", "Ubeana ", "Udurin ", "Udeano ", "Uinhel ", "Uknia ", "Ulna ", - "Uniya ", "Unoshea ", "Uriel ", "Urna ", "Usha ", "Uzenia ", "Vabash ", "Vadeni ", - "Valantin ", "Vane ", "Vanuhi ", "Vaoshi ", "Vardanush ", "Vardeni ", "Varderes ", "Vehuhi ", - "Veneanna ", "Venlia ", "Vera ", "Verjin ", "Voguhi ", "Voskeher ", "Vosketel ", "Voski ", - "Xana ", "Xare ", "Xashana ", "Xera ", "Xereanai ", "Xev ", "Xila ", "Xunshi ", - "Yb ", "Ydama ", "Yebeshia ", "Yeda ", "Yeghisabet ", "Yeghnik ", "Yeranik ", "Yeranuhi ", - "Yeraz ", "Yerjanik ", "Yeva ", "Yevgine ", "Yldha ", "Yra ", "Yves ", "Zanath ", - "Zanazan ", "Zapel ", "Zarah ", "Zardar ", "Zarik ", "Zaruhi ", "Zebb ", "Zemira ", - "Zepyur ", "Zilpah ", "Zina ", "Zipporah ", "Zod ", "Zophea ", "Zora ", "Zuanai " - ); - - clan_array : constant array (clan_limit) of string_16 := ( - "Aldheln ", "Abedol ", "Adonis ", "Amelin ", "Ankonih ", "Aoshin ", "Ariel ", "Arma ", - "Arthel ", "Ashal ", "Astrid ", "Avdotiya ", "Barkur ", "Bavakiel ", "Bednudan ", "Calarian ", - "Chleayan ", "Cinnkhan ", "Dairin ", "Daok ", "Daudroht ", "Deakan ", "Degerynn ", "Demenokt ", - "Diihakin ", "Dmitriya ", "Dnakad ", "Dnen ", "Duviel ", "Duychand ", "Eahara ", "Echinon ", - "Eighelen ", "Eikyan ", "Enrichnel ", "Erenth ", "Farathenian ", "Fedonakash ", "Fendal ", "Frostgen ", - "Gaelin ", "Garean ", "Greyvor ", "Gvozden ", "Hadaelio ", "Haeril ", "Haetten ", "Hein ", - "Hnael ", "Hnan ", "Iakara ", "Idho ", "Imayno ", "Inroth ", "Ipolith ", "Jablan ", - "Kalev ", "Kanaen ", "Karamin ", "Karthal ", "Kasidh ", "Kathal ", "Keonrynn ", "Koen ", - "Korda ", "Koveln ", "Ledo ", "Lenhan ", "Levanon ", "Liyan ", "Manailo ", "Megalokhan ", - "Michaelin ", "Mnerea ", "Naankiel ", "Narren ", "Naruhel ", "Nerarynn ", "Obstin ", "Odrahast ", - "Oighast ", "Okad ", "Onaadhan ", "Oudhin ", "Paunkiel ", "Pavelin ", "Rashin ", "Ravinon ", - "Reinan ", "Reives ", "Sauerden ", "Shanan ", "Shaymal ", "Sivinon ", "Sneath ", "Sonithel ", - "Steinen ", "Svidrigail ", "Tamokhan ", "Tedeya ", "Temian ", "Tessianik ", "Tettnoch ", "Therea ", - "Uathanel ", "Uberichel ", "Udun ", "Umenoran ", "Uphria ", "Vanashel ", "Varya ", "Velarynn ", - "Velian ", "Verlon ", "Volash ", "Yaad ", "Yarren ", "Zeanash ", "Ziinyakh ", "Zuno " - ); - actor_digit : constant natural := 8; actor_state : constant natural := 2; actor_count : constant natural := 4; @@ -248,12 +86,6 @@ package ai is function actor_is_happy return boolean; -- wtf function actor_is_bored return boolean; -- wtf - procedure configure; - procedure synchronize; - procedure review; - - procedure view_actor_state (index : in integer); - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end ai; diff --git a/source/attribute.adb b/source/attribute.adb index 56e24dc..d5b58fd 100644 --- a/source/attribute.adb +++ b/source/attribute.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, ui, attribute; +with core, ui; package body attribute is diff --git a/source/chad.adb b/source/chad.adb index 5115aa1..9b8627e 100644 --- a/source/chad.adb +++ b/source/chad.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, ui, faction, chad; +with core, ui, faction; package body chad is diff --git a/source/construction.adb b/source/construction.adb index cdbf3b9..93bc6dd 100644 --- a/source/construction.adb +++ b/source/construction.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, effect, resource, faction, construction; +with core, effect, resource, faction; package body construction is diff --git a/source/core.adb b/source/core.adb index ebb3861..07995a2 100644 --- a/source/core.adb +++ b/source/core.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, ray; +with ray; package body core is diff --git a/source/deity.adb b/source/deity.adb index ff4c0c2..dcbc51c 100644 --- a/source/deity.adb +++ b/source/deity.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, deity; +with core; package body deity is diff --git a/source/deity.ads b/source/deity.ads index 013cec5..904affe 100644 --- a/source/deity.ads +++ b/source/deity.ads @@ -9,8 +9,6 @@ package deity is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type enumeration is ( - svarog, dabog, svetovid, gozag, ru, xom, - sheigarath, ornhul, khuganagoth, vel_sheina, deigehen, geazhul ); ------------------------------------------------------------------------------------------ @@ -25,18 +23,6 @@ package deity is count : constant natural := enumeration'pos (enumeration'last) + 1; trait : constant array (enumeration) of information := ( - ("Svarog the Lawful ", 3), -- Serbia - ("Dabog the Lonely ", -3), - ("Svetovid the Awakened ", 0), - ("Gozag the Impoverished ", 0), -- DCSS - ("Ru the Forgotten ", -3), - ("Xom the Chaotical ", 3), - ("Sheigarath the Dark ", -3), -- Gea - ("Ornhul the Frozen ", 0), - ("Khuganagoth the Hungry ", -3), - ("Vel-Sheina the Joyful ", 3), - ("Deigehen the Chained ", 0), - ("Geazhul the Awakened ", 3) ); ------------------------------------------------------------------------------------------ diff --git a/source/effect.adb b/source/effect.adb index 272282b..2ab1e8d 100644 --- a/source/effect.adb +++ b/source/effect.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, effect; +with core; package body effect is diff --git a/source/faction.adb b/source/faction.adb index fa1faa3..8d4dcdb 100644 --- a/source/faction.adb +++ b/source/faction.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, attribute, skill, resource, faction; +with core, attribute, skill, resource; package body faction is diff --git a/source/item.adb b/source/item.adb index 36cb81d..f4af823 100644 --- a/source/item.adb +++ b/source/item.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, item; +with core; package body item is diff --git a/source/magic.adb b/source/magic.adb index d5308bd..f07acb0 100644 --- a/source/magic.adb +++ b/source/magic.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, ui, effect, magic; +with core, ui, effect; package body magic is @@ -46,28 +46,6 @@ package body magic is ui.draw_icon_menu (trait (index).text, x, y, view_width + 2 * offset, view_height + 2 * offset); end view; - ------------------------------------------------------------------------------------------ - - procedure menu (x, y : in integer; center : in boolean) is - offset : constant integer := 16; - width : constant integer := 168 * 8 + 2 * offset; - height : constant integer := 12 * core.icon + 2 * offset; - move_x : constant integer := (if center then (core.window_width - width) / 2 else x); - move_y : constant integer := (if center then (core.window_height - height) / 2 else y); - -- - next : array (0 .. 7) of integer := (others => 0); - begin - ui.draw_tiny_menu (move_x, move_y, width, height); - ui.draw_title_bar (move_x, move_y, width, "Magic Abilities"); - -- - for index in enumeration loop - icon (index, move_x + offset + school'pos (trait (index).kind) * 168, move_y + offset + next (school'pos (trait (index).kind)) * core.icon); - ui.write (trait (index).name, move_x + offset + school'pos (trait (index).kind) * 168 + core.icon, move_y + offset + next (school'pos (trait (index).kind)) * core.icon); - -- - next (school'pos (trait (index).kind)) := next (school'pos (trait (index).kind)) + 1; - end loop; - end menu; - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end magic; diff --git a/source/magic.ads b/source/magic.ads index 2395314..e8838b5 100644 --- a/source/magic.ads +++ b/source/magic.ads @@ -59,8 +59,6 @@ package magic is procedure icon (index : in enumeration; x, y : in integer); procedure view (index : in enumeration; x, y : in integer); - procedure menu (x, y : in integer; center : in boolean); - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end magic; diff --git a/source/main.adb b/source/main.adb index 809c1b8..a71d6a9 100644 --- a/source/main.adb +++ b/source/main.adb @@ -4,7 +4,8 @@ pragma ada_2012; -with core, ui, effect, attribute, skill, resource, faction, might, magic, item, unit, construction, chad, world, ai; +--~with core, ui, effect, attribute, skill, resource, faction, might, magic, item, unit, construction, chad, deity, world, ai; +with core, ui, effect, attribute, skill, resource, faction, item, unit, construction, chad, world; procedure main is @@ -125,7 +126,7 @@ begin construction.configure; chad.configure; world.configure; - ai.configure; + --~ai.configure; world.make (world.swamp, 120, 60); diff --git a/source/might.adb b/source/might.adb index 0c50c20..5ed0178 100644 --- a/source/might.adb +++ b/source/might.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, ui, effect, might; +with core, ui, effect; package body might is @@ -46,28 +46,6 @@ package body might is ui.draw_icon_menu (trait (index).text, x, y, view_width + 2 * offset, view_height + 2 * offset); end view; - ------------------------------------------------------------------------------------------ - - procedure menu (x, y : in integer; center : in boolean) is - offset : constant integer := 16; - width : constant integer := 168 * 8 + 2 * offset; - height : constant integer := 12 * core.icon + 2 * offset; - move_x : constant integer := (if center then (core.window_width - width) / 2 else x); - move_y : constant integer := (if center then (core.window_height - height) / 2 else y); - -- - next : array (0 .. 7) of integer := (others => 0); - begin - ui.draw_tiny_menu (move_x, move_y, width, height); - ui.draw_title_bar (move_x, move_y, width, "Might Abilities"); - -- - for index in enumeration loop - icon (index, move_x + offset + school'pos (trait (index).kind) * 168, move_y + offset + next (school'pos (trait (index).kind)) * core.icon); - ui.write (trait (index).name, move_x + offset + school'pos (trait (index).kind) * 168 + core.icon, move_y + offset + next (school'pos (trait (index).kind)) * core.icon); - -- - next (school'pos (trait (index).kind)) := next (school'pos (trait (index).kind)) + 1; - end loop; - end menu; - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end might; diff --git a/source/might.ads b/source/might.ads index 1146a05..92f0554 100644 --- a/source/might.ads +++ b/source/might.ads @@ -9,33 +9,9 @@ package might is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type school is ( - neutral, archery, defense, economy, education, logistics, - offense, tactics ); type enumeration is ( - -- Neutral - -- Archery - cover, evasive_maneuvers, focused_fire, magic_ammunition, piercing_bolt, precision, - retreat, taunt, - -- Defense - charismatic_leader, counterstrike, double_counterstrike, resilience, revenge, shield_of_the_virtue, - stand_your_ground_mass, stand_your_ground, toughness, - -- Economy - banker, destroyer, leadership, lumber, manager, merchant, - miner, plunderer, snatch, - -- Education - alchemist, architect, ballistics, chosen_one, diplomacy, economist, - general, mentor, siege_master, - -- Logistics - explorer, navigation, observer, orientation, pathfinder, scout, - spy, trust_the_plan, - -- Offense - assailant, battle_march, cleave, flawless_attack, giant_slayer, heroic_charge, - parry, pressed_attack, rampage, - -- Tactics - ambush, commander, crippling_traps, diving_attack, heroism_mass, heroism, - intimidation, reinforcements ); ------------------------------------------------------------------------------------------ @@ -55,66 +31,6 @@ package might is count : constant natural := enumeration'pos (enumeration'last) + 1; trait : constant array (enumeration) of information := ( - ("Cover ", archery, 0, effect.none, "Provides temporary protection from enemy attacks. "), - ("Evasive Maneuvers ", archery, 0, effect.none, "Allows the user to dodge and avoid incoming attacks more effectively. "), - ("Focused Fire ", archery, 0, effect.none, "Increases accuracy and damage output towards a single target. "), - ("Magic Ammunition ", archery, 0, effect.none, "Enchants projectiles with magical properties for more effectiveness. "), - ("Piercing Bolt ", archery, 0, effect.none, "Ability to penetrate enemy defenses and deal damage directly. "), - ("Precision ", archery, 0, effect.none, "Enhances accuracy and critical hit chance. "), - ("Retreat ", archery, 0, effect.none, "Allows the user to disengage from combat safely. "), - ("Taunt ", archery, 0, effect.none, "Draws enemy aggression towards the user, redirecting their attacks. "), - ("Charismatic Leader ", defense, 0, effect.none, "Boosts the morale and efficiency of allies in the vicinity. "), - ("Counterstrike ", defense, 0, effect.none, "Automatically retaliates against incoming attacks with a counter-attack."), - ("Double Counterstrike ", defense, 0, effect.none, "Further enhances the counter-attacking ability, allowing for more hits. "), - ("Resilience ", defense, 0, effect.none, "Provides increased resistance to status effects and damage. "), - ("Revenge ", defense, 0, effect.none, "Empowers the user after taking damage, increasing their offense. "), - ("Shield Of The Virtue ", defense, 0, effect.none, "Provides a powerful defensive barrier to protect the user and allies. "), - ("Stand Your Ground Mass ", defense, 0, effect.none, "Grants a defensive buff to multiple allied units within a large radius. "), - ("Stand Your Ground ", defense, 0, effect.none, "Enhances the user's defenses and resilience against incoming attacks. "), - ("Toughness ", defense, 0, effect.none, "Increases overall durability and reduces incoming damage. "), - ("Banker ", economy, 0, effect.none, "Generates additional in-game currency or resources over time. "), - ("Destroyer ", economy, 0, effect.none, "Deals massive damage to enemies or structures. "), - ("Leadership ", economy, 0, effect.none, "Boosts the effectiveness and performance of allied units. "), - ("Lumber ", economy, 0, effect.none, "Increases resource gathering efficiency for wood or similar materials. "), - ("Manager ", economy, 0, effect.none, "Improves resource management and production within the user's faction. "), - ("Merchant ", economy, 0, effect.none, "Enables better trading opportunities and increased profit from commerce."), - ("Miner ", economy, 0, effect.none, "Enhances resource gathering efficiency for minerals or ore. "), - ("Plunderer ", economy, 0, effect.none, "Steals resources or valuable items from enemies upon defeating them. "), - ("Snatch ", economy, 0, effect.none, "Allows the user to quickly grab and steal an item or resource. "), - ("Alchemist ", education, 0, effect.none, "Enables the user to create and utilize powerful potions or poisons. "), - ("Architect ", education, 0, effect.none, "Improves construction speed and efficiency for buildings and structures."), - ("Ballistics ", education, 0, effect.none, "Enhances ranged attacks and projectile-based abilities. "), - ("Chosen One ", education, 0, effect.none, "Empowers the user with random unique and potent abilities. "), - ("Diplomacy ", education, 0, effect.none, "Strengthens diplomatic relations and opportunities with other factions. "), - ("Economist ", education, 0, effect.none, "Boosts resource management and economic prowess within the domain. "), - ("General ", education, 0, effect.none, "Provides strategic advantages and boosts the effectiveness of troops. "), - ("Mentor ", education, 0, effect.none, "Offers guidance to allied units, enhancing their performance. "), - ("Siege Master ", education, 0, effect.none, "Specializes in siege warfare, increasing the range of siege machines. "), - ("Explorer ", logistics, 0, effect.none, "Improves scouting abilities and grants bonuses to discovering. "), - ("Navigation ", logistics, 0, effect.none, "Enhances movement speed or efficiency across different terrains. "), - ("Observer ", logistics, 0, effect.none, "Grants vision over specific areas or units, providing information. "), - ("Orientation ", logistics, 0, effect.none, "Improves unit positioning and formation effectiveness in battle. "), - ("Pathfinder ", logistics, 0, effect.none, "Provides bonuses to traversing difficult terrain or finding paths. "), - ("Scout ", logistics, 0, effect.none, "Excels at reconnaissance and gathering intelligence on enemy movements. "), - ("Spy ", logistics, 0, effect.none, "Infiltrates enemy territory to perform sabotage operations. "), - ("Trust The Plan ", logistics, 0, effect.none, "Grants advantages when following predetermined strategies or tactics. "), - ("Assailant ", offense, 0, effect.none, "Enhances offensive capabilities and increases damage dealt in fighting. "), - ("Battle March ", offense, 0, effect.none, "Boosts movement speed and combat prowess for the troops on the front. "), - ("Cleave ", offense, 0, effect.none, "Allows attacks to hit multiple foes or deal area-of-effect damage. "), - ("Flawless Attack ", offense, 0, effect.none, "Enhances precision and accuracy of attacks, maximizing damage output. "), - ("Giant Slayer ", offense, 0, effect.none, "Provides bonuses and advantages when engaging larger or stronger foes. "), - ("Heroic Charge ", offense, 0, effect.none, "Allows for a powerful and impactful offensive maneuver against enemies. "), - ("Parry ", offense, 0, effect.none, "Enables the user to block or deflect incoming attacks, reducing damage. "), - ("Pressed Attack ", offense, 0, effect.none, "Boosts the intensity and frequency of offensive strikes during combat. "), - ("Rampage ", offense, 0, effect.none, "Triggers a frenzied state, increasing attack power and speed shortly. "), - ("Ambush ", tactics, 0, effect.none, "Enables surprise attacks on enemy units for increased effectiveness. "), - ("Commander ", tactics, 0, effect.none, "Enhances leadership abilities and buffs allied units under the command. "), - ("Crippling Traps ", tactics, 0, effect.none, "Utilizes various traps and devices to hinder or debilitate enemies. "), - ("Diving Attack ", tactics, 0, effect.none, "Initiates a swift and decisive aerial assault from above. "), - ("Heroism Mass ", tactics, 0, effect.none, "Inspires and empowers multiple units simultaneously with a morale boost."), - ("Heroism ", tactics, 0, effect.none, "Bolsters morale and combat effectiveness of individual units. "), - ("Intimidation ", tactics, 0, effect.none, "Strikes fear into enemies, reducing their morale and courage. "), - ("Reinforcements ", tactics, 0, effect.none, "Calls in additional troops or support units to bolster the forces. ") ); ------------------------------------------------------------------------------------------ @@ -124,8 +40,6 @@ package might is procedure icon (index : in enumeration; x, y : in integer); procedure view (index : in enumeration; x, y : in integer); - procedure menu (x, y : in integer; center : in boolean); - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end might; diff --git a/source/resource.adb b/source/resource.adb index 795686d..eb0d267 100644 --- a/source/resource.adb +++ b/source/resource.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, ui, resource; +with core, ui; package body resource is diff --git a/source/skill.adb b/source/skill.adb index d41e22c..d916c77 100644 --- a/source/skill.adb +++ b/source/skill.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, ui, skill; +with core, ui; package body skill is diff --git a/source/ui.adb b/source/ui.adb index dc3cef0..976ccba 100644 --- a/source/ui.adb +++ b/source/ui.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, ui; +with core; package body ui is diff --git a/source/unit.adb b/source/unit.adb index 7692f47..d1ebf73 100644 --- a/source/unit.adb +++ b/source/unit.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, ui, effect, attribute, faction, unit; +with core, ui, effect, attribute, faction; package body unit is @@ -57,27 +57,6 @@ package body unit is ------------------------------------------------------------------------------------------ - procedure menu (x, y : in integer; center : in boolean) is - offset : constant integer := 16; - width : constant integer := 168 * faction.count + 2 * offset; - height : constant integer := 14 * core.icon + 2 * offset; - move_x : constant integer := (if center then (core.window_width - width) / 2 else x); - move_y : constant integer := (if center then (core.window_height - height) / 2 else y); - move : integer := 0; - begin - ui.draw_tiny_menu (move_x, move_y, width, height); - ui.draw_title_bar (move_x, move_y, width, "Units"); - -- - for index in enumeration loop - move := faction.enumeration'pos (trait (index).kind) * 168; - -- - icon (index, move_x + offset + move, move_y + offset + (enumeration'pos (index) mod 14) * core.icon); - ui.write (trait (index).name, move_x + offset + move + core.icon, move_y + offset + (enumeration'pos (index) mod 14) * core.icon); - end loop; - end menu; - - ------------------------------------------------------------------------------------------ - procedure stat (index : in enumeration; x, y : in integer; center : in boolean) is offset : constant integer := 16; width : constant integer := 10 + offset + 6 * (sprite (index).width + 8); diff --git a/source/unit.ads b/source/unit.ads index 82fbf53..41fe643 100644 --- a/source/unit.ads +++ b/source/unit.ads @@ -47,8 +47,6 @@ package unit is procedure icon (index : in enumeration; x, y : in integer); procedure view (index : in enumeration; x, y : in integer); - procedure menu (x, y : in integer; center : in boolean); - procedure stat (index : in enumeration; x, y : in integer; center : in boolean); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ diff --git a/source/world.adb b/source/world.adb index cbf88ca..b61f2d0 100644 --- a/source/world.adb +++ b/source/world.adb @@ -2,7 +2,7 @@ -- -- GNU General Public Licence (version 3 or later) -with core, ui, resource, item, unit, construction, world; +with core, ui, resource, item, unit, construction; package body world is