comparison clojure/com/aurellem/gb/status.clj @ 192:fd549c8f42ae

fixed compilation problems, added more functionality to pokemon-info
author Robert McIntyre <rlm@mit.edu>
date Thu, 22 Mar 2012 22:35:57 -0500
parents 893c753f8088
children
comparison
equal deleted inserted replaced
191:893c753f8088 192:fd549c8f42ae
1 (ns com.aurellem.gb.status 1 (ns com.aurellem.gb.status
2 (:use (com.aurellem.gb gb-driver util constants pokemon)) 2 (:use (com.aurellem.gb gb-driver util constants))
3 (:import [com.aurellem.gb.gb_driver SaveState])) 3 (:import [com.aurellem.gb.gb_driver SaveState]))
4 4
5 (def status-name->status-code 5 (def status-name->status-code
6 {:normal (Integer/parseInt "00000000" 2) 6 {:normal (Integer/parseInt "00000000" 2)
7 :sleep-1 (Integer/parseInt "00000001" 2) 7 :sleep-1 (Integer/parseInt "00000001" 2)
42 (assert status-code) 42 (assert status-code)
43 (set-memory state 43 (set-memory state
44 (pokemon-status-address poke-num) 44 (pokemon-status-address poke-num)
45 status-code))) 45 status-code)))
46 ([poke-num status] 46 ([poke-num status]
47 (give-stat @current-state poke-num status)) 47 (give-status @current-state poke-num status))
48 ([status] 48 ([status]
49 (give-stat @current-state 0 status))) 49 (give-status @current-state 0 status)))
50 50
51 (defn give-status-all
52 ([^SaveState state status]
53 (reduce (fn [state num]
54 (give-stat state num status))
55 state
56 (range (party-number state))))
57 ([status]
58 (give-stat-all @current-state status)))