commit 753df1696a2d62729ddf4518fd9b5aa5f1a86ae8
Author: Simon Watson <spw01@protonmail.com>
Date: Fri Feb 10 20:47:37 2023 -0500
Updated README with a few notes
diff --git a/README.md b/README.md
index 903e930..d2b86db 100644
--- a/README.md
+++ b/README.md
@@ -36,26 +36,30 @@ NOTE: This 'game' is just a playground for me to play with Lisp. It is not a ref
- Weapons Systems
- Weapons have attributes depending on type
- Plasma Weapon
- - Expensive/high damamge
- - Beam Weapon
- High hull damage, low shield damage
+ - Beam Weapon
+ - High shield damage, low hull damage
- Explosive Weapon
- Average hull damage, average shield damage
- Money/Economy/Items
- TODO
- [X] Basic buy/sell mechanics
+ - [ ] Overhaul buy/sell interface for archeotech specific information
+ - [ ] Random $x*$x ASCII image to represent archeotech
- [ ] Variable economy between sectors ('random' prices)
- [ ] Define how archeotech works (random buffs/characteristics)
+ - [ ] Archeotech display menu
- Notes
- Used to upgrade ship components/crew
- Can trade spice (variable cost in systems), but your crew will consume it based on their happiness
- Can trade archeotech (AT has characteristics that may be desireable to different planetary systems)
- Crew Systems
- - Crew needs gruel for food
- - Crew will be happier if spice is present on the ship
- - Crew members can give buffs
- to other parts of the ship
- - Sanity/Moral (impacted by availability of spice and/or horrors of the warp)
+ - TODO:
+ - [ ] Crew consumes grew on some regular cadence (per action/jump/etc)
+ - [ ] Crew will consume spice (if available)
+ - Spice increases moral but can be destabilizing to sanity
+ - [ ] Implementation of crew member buff charateristics
+ - [ ] Sanity/Moral (impacted by availability of spice and/or horrors of the warp)
- Hazard/Boon/Sector System
- TODO:
- [ ] Encapsulate sector attrs
diff --git a/game.lisp b/game.lisp
index e0a3271..35e837d 100644
--- a/game.lisp
+++ b/game.lisp
@@ -211,13 +211,15 @@ Actions:
(sell-transaction item-to-sell quantity)
(trade-menu)))))
+;;; This is kept around in case I need it. I'm not sure
+;;; this is any less 'bad' than how buy/sell-transaction
+;;; currently work
(defmacro dynamic-slot-access (predicate slotname accessor)
"Given a predicate where the predicate is a struct slot accessor like 'market-price-of-',
a slotname like 'petrofuel', and a struct location, return the result of the slot accessor function"
`(funcall ,(symbol-function (find-symbol (string-upcase (concatenate 'string predicate slotname)))) ,accessor))
(defun display-prices ()
-;;; (funcall (symbol-function (find-symbol (string-upcase (concatenate 'string "market-price-of-" item)))) (sector-market *sector*)) ;;; A call by string reference method for function calls
(let ((market-list (list
(list "Petrofuel" (market-price-of-petrofuel (sector-market *sector*)))
(list "Gruel" (market-price-of-gruel (sector-market *sector*)))