Changeset 582 for abuse/trunk/data-mac
- Timestamp:
- May 6, 2011, 12:47:14 AM (12 years ago)
- Location:
- abuse/trunk/data-mac
- Files:
-
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
abuse/trunk/data-mac/abuse.lsp
r581 r582 10 10 (progn 11 11 (print "Please make sure you unzipped the game with the -d option") 12 (print "so that all directories get created properly.") 13 (print "example : pkunzip -d abusXXXX.zip") 12 (print "so that all directories get created properly.") 13 (print "example : pkunzip -d abusXXXX.zip") 14 14 (quit))) 15 15 (setq load_warn T) … … 18 18 (load "lisp/common.lsp") 19 19 (load "lisp/userfuns.lsp") 20 (load "lisp/options.lsp") 20 (load "lisp/options.lsp") 21 21 (load "lisp/startup.lsp") 22 22 (local_load "lisp/input.lsp") -
abuse/trunk/data-mac/addon/bong/bong.lsp
r102 r582 24 24 ;;;; called lisp :-) 25 25 26 ;;;; Please do not ask me for docs on how to code with the abuse engine, there are 26 ;;;; Please do not ask me for docs on how to code with the abuse engine, there are 27 27 ;;;; none at this time and there won't be any until networked abuse is available. 28 28 ;;;; ALL games written with the abuse engine are network ready with no additional 29 ;;;; work including this one, but there are some issues that need addressing 29 ;;;; work including this one, but there are some issues that need addressing 30 30 ;;;; that cannot be fully discussed until the net code is finished. When these 31 31 ;;;; docs are written they will be available at http://www.crack.com Estimated … … 66 66 (setq pong_dir "addon/bong/") ; in case we change the location of these files later 67 67 ; this is always a very good idea to do because the user of 68 ; this program may/may not be able to install into this directory 68 ; this program may/may not be able to install into this directory 69 69 (setq pong_art (concatenate 'string pong_dir "bong.spe")) ; all artwork is in this file 70 70 … … 116 116 (let ((this-digit (/ score digs_left))) 117 117 (put_image x y (aref nums this-digit)) 118 (show_score (+ x (image_width (aref nums this-digit))) y 118 (show_score (+ x (image_width (aref nums this-digit))) y 119 119 (/ digs_left 10) (- score (* digs_left this-digit)))))) 120 120 … … 153 153 (blow_up_tile tilex (+ tiley 1)) 154 154 (blow_up_tile (+ tilex 1) tiley))) 155 155 156 156 (with_object (bg) (add_hp 10)) ; give player points 157 157 … … 165 165 (defun check_collide (status) ;; returns T if we hit something 166 166 (if (not (eq status T)) ; did we hit anything? 167 (if (eq (car (cdr status)) 'object) ; did we hit an object? 167 (if (eq (car (cdr status)) 'object) ; did we hit an object? 168 168 (let ((object (car (cdr (cdr status))))) 169 169 (if (eq (with_object object (otype)) PADDLE) ; did we hit the paddle? … … 173 173 (if (> 20 (aistate)) (set_aistate 20) 174 174 (if (< 160 (aistate)) (set_aistate 160))) 175 T) 175 T) 176 176 nil) 177 177 nil) … … 195 195 (defun move_ball () ;; returns status of move 196 196 (let ((status (float_tick))) 197 (if (not (eq status T)) ; T means we did not hit anything 197 (if (not (eq status T)) ; T means we did not hit anything 198 198 (let ((block_flags (car status))) 199 199 (if (or (blocked_left block_flags) (blocked_right block_flags)) ; bounce left/right … … 218 218 (select (aitype) 219 219 (0 ; normal play, bounce around and stuff.. 220 (check_collide (move_ball)) 220 (check_collide (move_ball)) 221 221 (if (> (y) 240) ; check to see if we are dead 222 222 (progn … … 231 231 T))) 232 232 T)) 233 233 234 234 (1 ; ball is dead - go to paddle and fade in 235 235 (set_x (with_object (bg) (x))) … … 239 239 (set_aitype 0)) 240 240 T))) 241 241 242 242 243 243 (def_char BALL … … 265 265 (mover xm 0 0) 266 266 0)) 267 267 268 268 269 269 (def_char PADDLE … … 292 292 (next_picture) 293 293 (if (touching_bg) ; are we touching the paddle 294 (progn 294 (progn 295 295 (add_score 1000) 296 296 (with_object (add_object BALL (x) (y) 1) (progn (set_fade_count 15) (set_aistate 80))) … … 339 339 (create_players PADDLE) 340 340 (set_first_level (get_level_name current_level)) 341 (gc) ; garbage collect 341 (gc) ; garbage collect 342 342 (tmp-space) 343 343 -
abuse/trunk/data-mac/addon/deathmat/deathmat.lsp
r102 r582 6 6 (defun net_file (x) (concatenate 'string net_dir x)) 7 7 (load (net_file "dstartup.lsp")) 8 (load "lisp/options.lsp") 8 (load "lisp/options.lsp") 9 9 10 10 (local_load "lisp/input.lsp") -
abuse/trunk/data-mac/addon/deathmat/dstartup.lsp
r102 r582 10 10 (load "addon/deathmat/cur_lev.lsp") 11 11 (set_first_level (nth current_net_level net_levels))) 12 12 13 13 ;; save the level we are so joining clients know which one to load 14 (open_file "addon/deathmat/cur_lev.lsp" "wb" 14 (open_file "addon/deathmat/cur_lev.lsp" "wb" 15 15 (print `(setq current_net_level ,current_net_level)))) 16 16 17 17 18 18 ;; this is a simple check to see if they player has an engine version … … 32 32 (progn 33 33 (print "\nPlease make sure you unzipped the game with the -d option") 34 (print "so that all directories get created properly.") 35 (print "example : pkunzip -d abusXXXX.zip") 34 (print "so that all directories get created properly.") 35 (print "example : pkunzip -d abusXXXX.zip") 36 36 (quit))) 37 37 (setq load_warn T) … … 52 52 (print (list 'setq 'server_version_major (major_version) )) 53 53 (print (list 'setq 'server_version_minor (minor_version))))) 54 54 55 55 56 56 (if (not (am_a_client)) … … 59 59 ;(let ((input (nice_input "DEATHMATCH : Enter your name below" "Name" username))) 60 60 ; (open_file "addon/deathmat/username.lsp" "wb" 61 ; (print (list 'setq 'username 61 ; (print (list 'setq 'username 62 62 ; (concatenate 'string '(#\") input '(#\")))))) 63 63 … … 82 82 (defun display_player (player text_x text_y) 83 83 (if player 84 (with_object player 85 (put_string (get_main_font) text_x text_y 86 (concatenate 'string (digstr (kills) 2) " " (player_name) 87 (if (local_player) 84 (with_object player 85 (put_string (get_main_font) text_x text_y 86 (concatenate 'string (digstr (kills) 2) " " (player_name) 87 (if (local_player) 88 88 " <<" 89 89 "")) -
abuse/trunk/data-mac/addon/deathmat/large.lsp
r102 r582 1 (setq net_levels 1 (setq net_levels 2 2 '("netlevel/8play1.spe" 3 3 "netlevel/8play2.spe" -
abuse/trunk/data-mac/addon/deathmat/medium.lsp
r102 r582 1 (setq net_levels 1 (setq net_levels 2 2 '( 3 3 "netlevel/4play1.spe" -
abuse/trunk/data-mac/addon/deathmat/small.lsp
r102 r582 1 (setq net_levels 1 (setq net_levels 2 2 '("netlevel/2play1.spe" 3 3 "netlevel/2play2.spe" -
abuse/trunk/data-mac/lisp/ant.lsp
r102 r582 2 2 ;; See licensing information for more details on usage rights 3 3 4 (setq ant_tints (make-array 11 :initial-contents (list 4 (setq ant_tints (make-array 11 :initial-contents (list 5 5 (def_tint "art/tints/ant/green.spe") 6 (def_tint "art/tints/ant/blue.spe") 6 (def_tint "art/tints/ant/blue.spe") 7 7 (def_tint "art/tints/ant/brown.spe") 8 8 (def_tint "art/tints/ant/egg.spe") … … 16 16 ))) 17 17 18 /* 18 /* 19 19 ------ this code has been compiled -------- 20 20 (defun no_fall_move (xm ym but) … … 35 35 0) 36 36 ret)))) 37 38 37 38 39 39 (defun will_fall_if_jump () 40 40 nil) … … 60 60 61 61 (defun strait_rocket_ai () 62 (set_course (aistate) 62 (set_course (aistate) 63 63 (select difficulty 64 64 ('easy 12) … … 72 72 (progn 73 73 (if (not (eq stat nil)) 74 (progn 74 (progn 75 75 (add_object EXPLODE3 (+ (x) (random 5)) (+ (y) (random 5)) 0) 76 76 (add_object EXPLODE2 (+ (x) (random 5)) (+ (y) (random 5)) 2) … … 82 82 (with_object (add_object EG_EXPLO (x) (y)) (user_fun myself (car stat))))) 83 83 nil)))) 84 84 85 85 86 86 (def_char STRAIT_ROCKET … … 97 97 (if (or (blocked_left block_flags) (blocked_right block_flags)) 98 98 (set_state blocking)))) 99 99 100 100 (def_char EG_EXPLO 101 101 (funs (ai_fun animate_ai) … … 107 107 (blocking (seq "bilw" 1 4)))) 108 108 109 /* 109 /* 110 110 ------ this code has been compiled -------- 111 111 (defun alien_wait_time () 112 (select difficulty 112 (select difficulty 113 113 ('easy 6) 114 114 ('medium 4) … … 131 131 nil 132 132 T))) 133 134 133 134 135 135 (defun roof_above () (not (can_see (x) (y) (x) (- (y) 120) nil))) 136 136 … … 140 140 (playerx (+ (with_object (bg) (x)) (with_object (bg) (* (xvel) 8)))) 141 141 (playery (+ (- (with_object (bg) (y)) 15) (with_object (bg) (* (yvel) 2))))) 142 142 143 143 (if (and (can_see (x) (y) firex firey nil) (can_see firex firey playerx playery nil)) 144 144 (progn … … 152 152 (defun ant_dodge () 153 153 (if (eq need_to_dodge 1) 154 (progn 154 (progn 155 155 (setq need_to_dodge 0) 156 156 (if (eq (random 2) 1) … … 159 159 (go_state 6)) ;; jump at player 160 160 (if (roof_above) 161 (progn 162 (set_yvel -17) ;; jump up 161 (progn 162 (set_yvel -17) ;; jump up 163 163 (set_xvel 0) 164 164 (go_state 12)) … … 190 190 (set_aistate 16))) 191 191 192 (15 ;; hanging on the roof waiting for the main character 192 (15 ;; hanging on the roof waiting for the main character 193 193 (if (next_picture) T (set_state hanging)) 194 194 (if (if (eq (total_objects) 0);; no sensor, wait for guy 195 195 (and (< (distx) 130) (< (y) (with_object (bg) (y)))) 196 196 (not (eq (with_object (get_object 0) (aistate)) 0))) 197 (progn 197 (progn 198 198 (set_state fall_start) (set_direction (toward)) 199 199 (set_aistate 1)))) … … 204 204 (and (< (distx) 130) (< (y) (with_object (bg) (y)))) 205 205 (not (eq (with_object (get_object 0) (aistate)) 0))) 206 (progn 206 (progn 207 207 (set_state fall_start) (set_direction (toward)) 208 208 (set_aistate 1)))) … … 219 219 (9 ;; landing / turn around (gerneal finish animation state) 220 220 (if (next_picture) T 221 (if (try_move 0 2) 221 (if (try_move 0 2) 222 222 (progn 223 223 (set_gravity 1) 224 224 (set_aistate 1)) 225 (progn (set_state stopped) 225 (progn (set_state stopped) 226 226 (go_state 2))))) ;; running 227 227 … … 254 254 (set_state turn_around) 255 255 (set_aistate 9))))) 256 256 257 257 (4 ;; wait for pounce 258 258 (if (ant_dodge) T … … 266 266 (go_state 6)))))) 267 267 268 (6 ;; jump 268 (6 ;; jump 269 269 (setq need_to_dodge 0) 270 270 (if (blocked_down (move (direction) -1 0)) … … 273 273 274 274 (8 ;; fire at player 275 (if (ant_dodge) T 275 (if (ant_dodge) T 276 276 (if (eq (state) fire_wait) 277 277 (if (next_picture) … … 304 304 (13 ;; roof walking 305 305 (scream_check) 306 (if (or (and (< (y) (with_object (bg) (y))) 307 (< (distx) 10) (eq (random 8) 0)) 306 (if (or (and (< (y) (with_object (bg) (y))) 307 (< (distx) 10) (eq (random 8) 0)) 308 308 (eq need_to_dodge 1)) ;; shooting at us, fall down 309 309 (progn … … 321 321 (- 0 (get_ability run_top_speed))))) 322 322 (if (and (can_see (x) (- (y) 31) (+ (x) xspeed) (- (y) 31) nil) 323 (not (can_see (+ (x) xspeed) (- (y) 31) 323 (not (can_see (+ (x) xspeed) (- (y) 31) 324 324 (+ (x) xspeed) (- (y) 32) nil))) 325 325 (progn 326 326 (set_x (+ (x) xspeed)) 327 (if (not (next_picture)) 327 (if (not (next_picture)) 328 328 (set_state top_walk))) 329 329 (set_aistate 1))))))) 330 330 331 331 332 332 (14 ;; cieling shoot 333 333 (if (next_picture) … … 339 339 340 340 ))) 341 341 342 342 T) 343 */ 343 */ 344 344 345 345 … … 380 380 'electric_part 381 381 'normal_part) 382 382 383 383 (defun get_dead_part (from) 384 384 (if from … … 397 397 398 398 (if (and (not (eq (state) dead)) 399 (or (not from) 400 (with_object from (if (eq (total_objects) 0) 399 (or (not from) 400 (with_object from (if (eq (total_objects) 0) 401 401 (not (eq (otype) ANT_ROOF)) 402 402 (with_object (get_object 0) (not (eq (otype) ANT_ROOF))))))) … … 408 408 (damage_fun amount from hitx hity push_xvel push_yvel) 409 409 (play_sound APAIN_SND 127 (x) (y)) 410 (setq need_to_dodge 1) 410 (setq need_to_dodge 1) 411 411 (if (<= (hp) 0) 412 412 (progn … … 461 461 (range 250 20) 462 462 (draw_range 40 40) 463 (funs (ai_fun ant_ai) 463 (funs (ai_fun ant_ai) 464 464 (draw_fun ant_draw) 465 465 (constructor ant_cons) … … 476 476 (push_xrange 1) 477 477 (jump_top_speed 20)) 478 478 479 479 (flags (hurtable T) 480 480 (force_health T)) 481 481 482 (states "art/ant.spe" 482 (states "art/ant.spe" 483 483 (hanging (rep "ant" 2)) 484 484 485 485 (fall_start "affc0001.pcx") 486 486 (falling "affc0002.pcx") 487 487 488 488 (stopped "awlk0001.pcx") 489 489 (running (seq "awlk" 1 10)) … … 517 517 (states "art/ant.spe" (stopped "hidden"))) 518 518 519 519 520 520 521 521 … … 531 531 (let ((d (direction)) 532 532 (type (aitype))) 533 (if (or (eq create_total 0) (eq create_total 1)) 533 (if (or (eq create_total 0) (eq create_total 1)) 534 534 (set_current_frame 4) 535 535 (progn … … 548 548 (2 (next_picture)))) 549 549 T) 550 550 551 551 552 552 (defun crack_cons () … … 575 575 (bounce_move T T T '(progn (set_state dieing) (set_aistate 1)) T) 576 576 (or (< (state_time) 15) 577 (not (frame_panic)))) 577 (not (frame_panic)))) 578 578 (1 ;; hit the ground 579 579 nil) 580 580 )) 581 581 582 (setq ant_dead_parts (make-array (* 3 4) :initial-contents 582 (setq ant_dead_parts (make-array (* 3 4) :initial-contents 583 583 '((AD_1 "adbn") (AD_2 "adha") (AD_3 "adla") ; disapear 584 584 (AD_4 "adaf") (AD_5 "adah") (AD_6 "adlf") ; flaming … … 608 608 (do ((i 0 (setq i (+ i 1)))) 609 609 ((>= i 12) nil) 610 (setq (aref ant_dead_parts i) 610 (setq (aref ant_dead_parts i) 611 611 (make_dead_part (car (aref ant_dead_parts i)) 612 612 (car (cdr (aref ant_dead_parts i))) 4 "art/ant.spe" 'ant_draw))) -
abuse/trunk/data-mac/lisp/chat.lsp
r102 r582 8 8 (player_name)))) 9 9 (if (search "/help" str) 10 (if (local_player) 10 (if (local_player) 11 11 (chat_print "Commands : /nick name, /help")) 12 12 (if (local_player) -
abuse/trunk/data-mac/lisp/common.lsp
r102 r582 2 2 ;; See licensing information for more details on usage rights 3 3 4 ; draw function for characters only displayed during edit mode 4 ; draw function for characters only displayed during edit mode 5 5 ; such as start, etc. 6 6 ; (defun dev_draw () (if (edit_mode) (draw) nil)) -- compiled C function -- … … 12 12 (draw) 13 13 (set_y y))) 14 14 15 15 16 16 … … 50 50 nil) 51 51 T) 52 52 53 53 54 54 … … 56 56 (funs (ai_fun lhold_ai) 57 57 (draw_fun dev_draw)) 58 (states "art/misc.spe" 58 (states "art/misc.spe" 59 59 (stopped "lhold"))) 60 60 61 61 62 62 63 (def_char OBJ_MOVER 63 (def_char OBJ_MOVER 64 64 (funs (ai_fun mover_ai) 65 65 (constructor mover_cons) … … 70 70 (states "art/misc.spe" (stopped '("mover" "mover" )))) 71 71 72 /* Compiled C 72 /* Compiled C 73 73 (defun mover_ai () 74 74 (if (eq (total_objects) 2) 75 75 (let ((dest (get_object 0)) 76 76 (mover (get_object 1))) 77 (if (< (aistate) 2) ; transfer object to next mover 77 (if (< (aistate) 2) ; transfer object to next mover 78 78 (progn 79 (with_object dest 79 (with_object dest 80 80 (progn 81 81 (link_object mover) 82 82 (set_aistate (aitype)))) 83 83 (remove_object mover)) 84 (progn 84 (progn 85 85 (set_aistate (- (aistate) 1)) 86 86 (let ((newx (- (with_object dest (x)) (/ (* (- (with_object dest (x)) (x)) (aistate)) (aitype)))) 87 87 (newy (- (with_object dest (y)) (/ (* (- (with_object dest (y)) (y)) (aistate)) (aitype))))) 88 (with_object mover 89 (progn 88 (with_object mover 89 (progn 90 90 (platform_push (- newx (x)) (- newy (y))) 91 91 (set_x newx) … … 105 105 (let ((last (get_object (- x 1)))) ; see if the last object has the same position as us 106 106 (if (and (eq (with_object last (x)) (x)) (eq (with_object last (y)) (y))) 107 (if (eq (aistate) 1) 107 (if (eq (aistate) 1) 108 108 (if (eq (with_object last (fade_count)) 0) 109 109 (set_aistate 1) … … 122 122 123 123 124 (defun respwan_cons () (set_xvel 50)) 124 (defun respwan_cons () (set_xvel 50)) 125 125 126 126 127 (def_char RESPAWN 127 (def_char RESPAWN 128 128 (funs (ai_fun respawn_ai) 129 (draw_fun dev_draw) 129 (draw_fun dev_draw) 130 130 (constructor respwan_cons)) 131 131 ; (flags (unlistable T)) -
abuse/trunk/data-mac/lisp/doors.lsp
r102 r582 2 2 ;; See licensing information for more details on usage rights 3 3 4 (defun general_door_ai (push?) 4 (defun general_door_ai (push?) 5 5 (select (aistate) 6 6 (0 (if (> (total_objects) 0) ; are we linked to a key? … … 16 16 nil))) 17 17 (1 (if (not (next_picture)) ; wait till open animation finishes 18 (progn 18 (progn 19 19 (set_state stopped) ; set opened animation 20 (go_state 2)))) 20 (go_state 2)))) 21 21 22 22 (2 (if (> (total_objects) 0) ; wait till level editor links us to a key 23 (progn 23 (progn 24 24 (set_state blocking) 25 25 (go_state 0)) … … 45 45 (1 ; opening 46 46 (if (next_picture) nil 47 (progn 47 (progn 48 48 (set_state blocking) 49 49 (set_aistate 2)))) … … 59 59 (set_aistate 0)))) 60 60 ) 61 61 62 62 63 63 T) … … 83 83 (bgy (with_object who (y)) (y))) 84 84 (if (and (>= bgy (y)) (<= bgy (+ end_y 20)) 85 (< (abs (- bgx (x))) xamount)) 85 (< (abs (- bgx (x))) xamount)) 86 86 (let ((amount (if (> bgx (x)) 87 87 (- xamount (- bgx (x))) … … 106 106 (ff_push (first_focus) 35))) 107 107 T) 108 108 109 109 110 110 (defun ff_draw () … … 126 126 (states "art/misc.spe" 127 127 (stopped "force_field"))) 128 128 129 129 130 130 (defun hwall_ai () 131 (if (or (eq (hp) 0) 131 (if (or (eq (hp) 0) 132 132 (and (eq (total_objects) 1) 133 133 (with_object (get_object 0) (not (eq (aistate) 0))))) … … 140 140 141 141 (defun big_wall_ai () 142 (if (or (eq (hp) 0) 142 (if (or (eq (hp) 0) 143 143 (and (eq (total_objects) 1) 144 144 (with_object (get_object 0) (not (eq (aistate) 0))))) … … 165 165 (set_hp 25))) 166 166 167 167 168 168 (defun make_hidden_wall_char (name start end ai) 169 169 (eval `(def_char ,name -
abuse/trunk/data-mac/lisp/duong.lsp
r102 r582 21 21 (y (- (y) 16)) 22 22 (fade (if (< (current_frame) 16) (current_frame) 15))) 23 (with_object (get_object 1) 23 (with_object (get_object 1) 24 24 (progn 25 (set_x x) 26 (set_y y) 25 (set_x x) 26 (set_y y) 27 27 (user_fun SET_FADE_COUNT fade) 28 28 (setq is_teleporting 1) 29 29 ))) 30 30 31 31 (let ((x (with_object (get_object 0) (x))) 32 (y (with_object (get_object 0) (- (y) 16)))) 32 (y (with_object (get_object 0) (- (y) 16)))) 33 33 (with_object (get_object 1) 34 (progn 34 (progn 35 35 (set_x x) 36 36 (set_y y) … … 41 41 (set_aistate 0)))))) 42 42 T) 43 */ 43 */ 44 44 45 45 (defun mine_ai () … … 129 129 (set_y oldy)) 130 130 nil))) 131 132 133 131 132 133 134 134 (def_char BOMB 135 135 (funs (ai_fun bomb_ai) … … 151 151 (states "art/chars/mine.spe" 152 152 (stopped '("abomb0001.pcx+" "abomb0002.pcx+")))) 153 153 154 154 155 155 … … 181 181 (0 ;; wait for switch to go off 182 182 (if (not (eq (with_object (get_object 0) (aistate)) 0)) 183 (progn 183 (progn 184 184 (set_state running) 185 185 (go_state 1)))) … … 189 189 (set_state blocking) 190 190 (set_aistate 2)))) 191 (2 ;; just stay here 191 (2 ;; just stay here 192 192 T))) 193 193 T) 194 194 195 195 196 196 (defun strap_door_ai () … … 241 241 (running (seq "lite" 1 9)) 242 242 (stopped "lite0001.pcx"))) 243 243 244 244 245 245 … … 267 267 (stopped (seq "lava" 1 15)))) 268 268 269 269 270 270 271 271 (def_char TELE2 … … 275 275 (stopped "close") 276 276 (running (seq "elec" 1 15)))) 277 277 278 278 279 279 (defun bolder_ai () … … 295 295 (progn 296 296 (next_picture) 297 (set_yvel (+ (yvel) 1)) 297 (set_yvel (+ (yvel) 1)) 298 298 (let ((old_yv (yvel)) 299 299 (old_xv (xvel)) … … 310 310 (set_y new_y)) 311 311 (hurt_radius (x) (y) 19 30 (me) 15) 312 (if (not (eq status T));; T means we did not hit anything 312 (if (not (eq status T));; T means we did not hit anything 313 313 (let ((block_flags (car status))) 314 314 (if (or (blocked_up block_flags) (blocked_down block_flags));; bounce up/down … … 326 326 T)) 327 327 T)) 328 328 329 329 330 330 (defun bolder_cons () … … 333 333 334 334 335 (defun bold_dam (amount from hitx hity push_xvel push_yvel) 335 (defun bold_dam (amount from hitx hity push_xvel push_yvel) 336 336 (add_object EXPLODE3 (+ (x) (- 10 (random 20))) (- (y) (random 30)) 0) 337 337 (damage_fun amount from hitx hity (/ push_xvel 10) (/ push_yvel 2))) … … 346 346 (range 200 200) 347 347 (abilities (start_hp 40)) 348 (fields ("xvel" ai_xvel) 348 (fields ("xvel" ai_xvel) 349 349 ("yvel" ai_yvel) 350 350 ("hp" ai_health) 351 351 ) 352 352 (states "art/bold.spe" 353 (stopped '("bold0001.pcx" "bold0001.pcx" "bold0001.pcx" 353 (stopped '("bold0001.pcx" "bold0001.pcx" "bold0001.pcx" 354 354 "bold0002.pcx" "bold0002.pcx" "bold0002.pcx" 355 355 "bold0003.pcx" "bold0003.pcx" "bold0003.pcx" … … 360 360 (old_xv (xvel)) 361 361 (status (float_tick))) 362 (if (not (eq status T)) ;; T means we did not hit anything 363 (let ((block_flags (car status))) 362 (if (not (eq status T)) ;; T means we did not hit anything 363 (let ((block_flags (car status))) 364 364 (if (blocked_up block_flags) ;; bounce up/down 365 365 (progn … … 387 387 (eval right_stub))))))) 388 388 (eval nothing_stub)))) 389 389 390 390 391 391 … … 393 393 (next_picture) 394 394 (set_yvel (+ (yvel) 1)) 395 (bounce_move T T T 396 '(progn (add_object EXPLODE1 (+ (x) (random 10)) (- (+ (random 5) (y)) 10) 0) 395 (bounce_move T T T 396 '(progn (add_object EXPLODE1 (+ (x) (random 10)) (- (+ (random 5) (y)) 10) 0) 397 397 (add_object EXPLODE1 (- (x) (random 10)) (- (- (y) (random 5)) 10) 2) 398 398 (play_sound P_EXPLODE_SND 127 (x) (y)) … … 401 401 nil) 20) 402 402 nil) T)) 403 403 404 404 405 405 (def_char SMALL_BOLDER … … 408 408 (flags (add_front T) 409 409 (unlistable T)) 410 410 411 411 (states "art/bold.spe" 412 412 (stopped "bsmall"))) -
abuse/trunk/data-mac/lisp/english.lsp
r225 r582 5 5 ;; Latest version of this file is "V-E" (version E=1.47) 6 6 7 (select section 7 (select section 8 8 ('game_section 9 9 … … 37 37 (setq New? "New?") 38 38 (setq l_EDIT "EDIT") 39 39 40 40 41 41 /********** New for Version D (1.46) **************/ … … 110 110 (setq sens_cs "current state") 111 111 (setq tp_amb "ambient setting") 112 113 114 112 113 114 115 115 (setq ai_xvel "Xvel ") 116 116 (setq ai_yvel "Yvel ") … … 124 124 (setq ai_state "ai state") 125 125 (setq ai_fade "fade 0-15") 126 126 127 127 (setq a_ambient "Ambient ") 128 128 (setq a_aspeed "Ambient speed") … … 139 139 (setq ap_pal "Add palette") 140 140 (setq mouse_at "Mouse at location %d, %d\n") 141 141 142 142 143 143 (setq l_links "Links") … … 162 162 (setq edit_top "Edit") 163 163 (setq window_top "Windows") 164 (setq menu1_load "Load Level") 164 (setq menu1_load "Load Level") 165 165 (setq menu1_save "Save Level (S)") 166 166 (setq menu1_saveas "Save level as") … … 207 207 (setq level_size "Level size") 208 208 ; 012345678901234567 (please keep same allignment of Name level & total) 209 (setq score_header "Name Level Total") ; V-E 209 (setq score_header "Name Level Total") ; V-E 210 210 (setq space_cont "Press SPACEBAR to continue") ; V-E 211 211 (setq no_saved "No saved game") … … 224 224 b 225 225 (defun get_train_msg (message_num) 226 (select message_num 226 (select message_num 227 227 ; 0123456789012345678901234567890123456789012345678901234567890123456789 228 228 ; "--------------------------------------------------------------------" ; V-A … … 303 303 (setq to_be_continued "To be continued.....") 304 304 (setq no_edit "This version of ABUSE does not have editing features") 305 (setq no_hirez "Hi-rez is only available for edit mode (-edit)") 305 (setq no_hirez "Hi-rez is only available for edit mode (-edit)") 306 306 (setq no2 "Cannot use -2 with -edit") 307 307 (setq no_pals "No palettes defined") … … 313 313 (setq d_nosel "No selected object or light to delete.") 314 314 (setq forward? "Forward which object?") 315 (setq back? "Back which object?") 315 (setq back? "Back which object?") 316 316 (setq aitype? "Ai type for who?") 317 317 (setq prof_off "Cache profiling is now off.") … … 324 324 (setq quit_title "Quit?") 325 325 (setq YES "YES") 326 (setq NO "NO") 326 (setq NO "NO") 327 327 (setq seqs_off "Sequential screen shots off\n") 328 328 (setq seqs_on "Sequential screen shots on (1 per 5 sec)\n") … … 346 346 347 347 348 (setq net_not_reg 348 (setq net_not_reg 349 349 (concatenate 'string "Sorry, this server is running REGISTERED ABUSE and you are not.\n" 350 350 "Ask the server operator to run with -share option or better yet,\n" … … 369 369 370 370 (setq plot_start 371 (concatenate 'string 371 (concatenate 'string 372 372 "You are Nick Vrenna. It is the year 2009. You have been falsely incarcerated " 373 373 "inside a high security underground prison where illegal genetic experiments " 374 "are taking place.\\n" 374 "are taking place.\\n" 375 375 "Alan Blake, the head research scientist, has isolated the specific gene which " 376 376 "causes violence and aggression in humans. This genetic sequence, called " … … 388 388 389 389 (setq plot_middle 390 (concatenate 'string 390 (concatenate 'string 391 391 "You have survived the initial outbreak, but you are still lost deep " 392 "within the prison. So far it's been suspiciously easy. \\n" 392 "within the prison. So far it's been suspiciously easy. \\n" 393 393 "If you want to break out - the real ABUSE lies ahead. ")) 394 394 395 395 396 396 (setq plot_end 397 (concatenate 'string 397 (concatenate 'string 398 398 "You've survived impossible odds and made it to the Control Room. " 399 399 "By pulling the switch, you have diverted the water supply and stopped the spread of Abuse!\\n " … … 401 401 402 402 (setq thanks_text 403 (concatenate 'string 403 (concatenate 'string 404 404 "Bungie Crew\\n" 405 405 "- Production Manager " … … 476 476 "Jason Budravage, " 477 477 "and Jonah Kowall\\n" 478 "\\nIcepops!\n"))) 478 "\\nIcepops!\n"))) 479 479 ) -
abuse/trunk/data-mac/lisp/explo.lsp
r102 r582 13 13 T)))) 14 14 15 (defun do_small_explo (radius amount) 15 (defun do_small_explo (radius amount) 16 16 (add_object EXPLODE3 (+ (x) (random 5)) (+ (y) (random 5)) 0) 17 17 (add_object EXPLODE2 (+ (x) (random 5)) (+ (y) (random 5)) 2) … … 50 50 51 51 (def_char EXP_LIGHT 52 (funs (ai_fun explo_light) 52 (funs (ai_fun explo_light) 53 53 (draw_fun dev_draw)) 54 54 (flags (unlistable T)) … … 58 58 59 59 /* written in C 60 (defun exp_ai () 61 (if (eq (aitype) 0) (next_picture) 60 (defun exp_ai () 61 (if (eq (aitype) 0) (next_picture) 62 62 (progn (set_aitype (- (aitype) 1)) 63 63 T))) … … 65 65 66 66 (defun exp_draw () 67 (if (eq (aitype) 0) 67 (if (eq (aitype) 0) 68 68 (middle_draw))) 69 69 */ -
abuse/trunk/data-mac/lisp/flyer.lsp
r102 r582 28 28 (with_object (bg) (set_kills (+ (kills) 1))) 29 29 nil) 30 (progn 30 (progn 31 31 (if (eq (mod (state_time) 5) 0) ;; make flyer noise every 5 ticks 32 32 (play_sound FLYER_SND 127 (x) (y))) … … 67 67 68 68 (if (next_picture) T (set_state running)) ;; reset animation when done 69 69 70 70 (bounce_move '(set_xvel (/ (xvel) 2)) '(set_xvel (/ (xvel) 2)) 71 71 '(set_yvel (/ (yvel) 2)) '(set_yvel (/ (yvel) 2)) nil) 72 72 73 73 (if (> fire_time 0) ;; if we need to wait till next burst 74 74 (progn 75 75 (setq fire_time (- fire_time 1)) 76 76 (if (eq fire_time 0) 77 (progn 77 (progn 78 78 (setq burst_left burst_total) 79 79 (setq burst_wait 0)))) … … 92 92 (setq burst_left (- burst_left 1))) 93 93 (setq burst_wait burst_delay) 94 (fire_object (me) (aitype) firex firey angle (bg)) 94 (fire_object (me) (aitype) firex firey angle (bg)) 95 95 ))))) 96 (setq burst_wait (- burst_wait 1)))) 96 (setq burst_wait (- burst_wait 1)))) 97 97 T)))) 98 98 99 99 100 100 101 (defun flyer_cons () 101 (defun flyer_cons () 102 102 (setq fire_delay 20) 103 103 (setq burst_delay 3) … … 109 109 110 110 (defun flyer_damage (amount from hitx hity push_xvel push_yvel) 111 (if (and from (with_object from (and (> (total_objects) 0) 112 (with_object (get_object 0) 111 (if (and from (with_object from (and (> (total_objects) 0) 112 (with_object (get_object 0) 113 113 (or (eq (otype) FLYER) 114 114 (eq (otype) GREEN_FLYER)) -
abuse/trunk/data-mac/lisp/french.lsp
r566 r582 6 6 7 7 8 (select section 8 (select section 9 9 ('game_section 10 10 … … 108 108 (setq sens_cs "Etat actuel") 109 109 (setq tp_amb "Rglage ambiance") 110 111 112 110 111 112 113 113 (setq ai_xvel "Xvel ") 114 114 (setq ai_yvel "Yvel ") … … 122 122 (setq ai_state "Etat IA ") 123 123 (setq ai_fade "Fondu 0-15") 124 124 125 125 (setq a_ambient "Ambiant ") 126 126 (setq a_aspeed "Vitesse ambiante") … … 137 137 (setq ap_pal "Ajouter palette") 138 138 (setq mouse_at "Position la souris %d, %d\n") 139 139 140 140 141 141 (setq l_links "Liens") … … 148 148 149 149 (setq SHOW? "AFFICHER ?") 150 (setq back_loss (concatenate 'string "Ce taux de dfilement diminue la taille de la care d'arrire 150 (setq back_loss (concatenate 'string "Ce taux de dfilement diminue la taille de la care d'arrire 151 151 plan \n" 152 152 "Des dalles risquent d'tre perdues, tes-vous sr(e) de vouloir le faire ?\n")) … … 164 164 (setq edit_top "Editer") 165 165 (setq window_top "Fentres") 166 (setq menu1_load "Lancer niveau") 166 (setq menu1_load "Lancer niveau") 167 167 (setq menu1_save "Sauvegarder niveau (S)") 168 168 (setq menu1_saveas "Enregistrer sous") … … 209 209 (setq level_size "Taille du niveau") 210 210 ; 012345678901234567 (please keep same allignment of Name level & total) 211 (setq score_header "Nom Total du niveau") ; V-E 211 (setq score_header "Nom Total du niveau") ; V-E 212 212 (setq space_cont "Appuyez sur la BARRE D'ESPACE pour continuer") ; V-E 213 213 (setq no_saved "Pas de jeu sauvegard") … … 229 229 230 230 (defun get_train_msg (message_num) 231 (select message_num 231 (select message_num 232 232 (0 "Pointez le canon avec la souris, tirez avec le bouton gauche") 233 233 (1 "Rcuprez des munitions pour augmenter votre cadence de tir") … … 290 290 (setq client "Participer au jeu en cours ?") 291 291 (setq single_play " Un seul joueur ") 292 (setq single_play " Sortir du jeu sur rseau ") ; V-A 292 (setq single_play " Sortir du jeu sur rseau ") ; V-A 293 293 (setq cancel_net " Annuler ") 294 294 … … 311 311 (setq to_be_continued "A suivre.....") 312 312 (setq no_edit "Cette version du jeu est dpourvue de l'diteur") 313 (setq no_hirez "La haute rsolution n'est disponible qu'avec le mode diter (-edit)") 313 (setq no_hirez "La haute rsolution n'est disponible qu'avec le mode diter (-edit)") 314 314 (setq no2 "Ne peut pas utiliser -2 avec -edit") 315 315 (setq no_pals "Aucune palette dfinie") … … 322 322 effacer.") 323 323 (setq forward? "Avancer quel objet ?") 324 (setq back? "Reculer quel objet ?") 324 (setq back? "Reculer quel objet ?") 325 325 (setq aitype? "Type IA pour qui ?") 326 326 (setq prof_off "Cache dsactiv") … … 333 333 (setq quit_title "Sortir ?") 334 334 (setq YES "OUI") 335 (setq NO "NON") 335 (setq NO "NON") 336 336 (setq seqs_off "Squences photos off\n") 337 337 (setq seqs_on "Squences photos on (1 toutes les 5 sec)\n") … … 376 376 (setq load_warn nil) 377 377 (if (not (load "register/english.lsp")) 378 (setq end_msg 379 (concatenate 'string 378 (setq end_msg 379 (concatenate 'string 380 380 "* Editer LISP/OPTIONS.LSP pour configurer quelques options pour ABUSE.\n\n" 381 "* Procurez-vous la version commerciale d'ABUSE qui sera en vente fin mars 96, et\n" 381 "* Procurez-vous la version commerciale d'ABUSE qui sera en vente fin mars 96, et\n" 382 382 " sera jouable sur rseau IPX supportant huit joueurs. Elle comportera un diteur\n" 383 383 " de niveau intgr, 17 niveaux un seul joueur (plus 12 niveaux sur le\n" … … 391 391 " ALLEMAGNE 05241 / 24307\n" 392 392 " AUSTRALIE +61(75)911 388\n" 393 " JAPON 03-5410-3100\n\n"))) 393 " JAPON 03-5410-3100\n\n"))) 394 394 395 395 (setq load_warn T) 396 396 397 397 (setq plot_start 398 (concatenate 'string 398 (concatenate 'string 399 399 "Vous tes Nick Vrenna. C'est l'anne 2009. A tort, vous avez t incarcr " 400 400 "dans une prison souterraine de haute surveillance o ont lieu des expriences gntiques " 401 " illgales.\\n" 401 " illgales.\\n" 402 402 "Alan Blake, 403 la tte de la recherche scientifique, a isol le gne qui provoque " 403 la tte de la recherche scientifique, a isol le gne qui provoque " 404 404 "violence et agression chez les humains. Cette squence gntique appele " 405 '(#\") "Abuse" '(#\") " est extrmement infectieuse, elle engendre des transformations " 405 '(#\") "Abuse" '(#\") " est extrmement infectieuse, elle engendre des transformations " 406 406 "horribles et provoque de monstrueux effets secondaires. " 407 407 "Vous tes la seule personne immunise contre ces effets. \\n" 408 408 "Une meute commence et dans ce dsordre, toutes les portes de " 409 "prison s'ouvrent. Trs vite, les gardes, ainsi que les dtenus " 409 "prison s'ouvrent. Trs vite, les gardes, ainsi que les dtenus " 410 410 "sont contamins et transforms en une horde de mutants qui envahissent le " 411 411 "btiment.\\n" 412 "Votre seule chance pour vous enfuir est de vous revtir d'une armure " 412 "Votre seule chance pour vous enfuir est de vous revtir d'une armure " 413 413 "de combat et d'aller 414 414 la Salle des commandes " 415 "qui se trouve au niveau le plus loign de la structure. Mais d'abord, vous devez " 415 "qui se trouve au niveau le plus loign de la structure. Mais d'abord, vous devez " 416 416 "empcher l'approvisionnement d'eau qui a t infect par Abuse de contaminer " 417 417 "le monde extrieur. La libert et le sort de l'humanit sont maintenant entre vos mains. " )) 418 418 419 419 (setq plot_middle 420 (concatenate 'string 420 (concatenate 'string 421 421 "Vous avez survcu la vague initiale de contamination, mais vous tes " 422 422 "encore perdu au fin fond de la prison " 423 "Jusqu'ici, c'tait d'une facilit suspecte. \\n" 423 "Jusqu'ici, c'tait d'une facilit suspecte. \\n" 424 424 "Si vous voulez vous chapper, ne manquez pas de jouer 425 425 Abuse dans son intgralit. ")) … … 427 427 428 428 (setq plot_end 429 (concatenate 'string 429 (concatenate 'string 430 430 "Flicitations ! Vous avez russi 431 survivre dans une situation incroyable et " 431 survivre dans une situation incroyable et " 432 432 "vous tes 433 433 la Salle de commandes. " -
abuse/trunk/data-mac/lisp/gates.lsp
r102 r582 27 27 ("aistate" ai_state) 28 28 ) 29 (states "art/misc.spe" 29 (states "art/misc.spe" 30 30 (stopped "0_delay") 31 31 (on_state "1_delay"))) … … 35 35 (funs (ai_fun or_ai) 36 36 (draw_fun dev_draw)) 37 (states "art/misc.spe" 37 (states "art/misc.spe" 38 38 (stopped "0_or_gate") 39 39 (on_state "1_or_gate"))) 40 40 41 41 (def_char GATE_AND 42 42 (funs (ai_fun and_ai) 43 43 (draw_fun dev_draw)) 44 (states "art/misc.spe" 44 (states "art/misc.spe" 45 45 (stopped "0_and_gate") 46 46 (on_state "1_and_gate"))) 47 48 47 48 49 49 (def_char GATE_NOT 50 50 (funs (ai_fun not_ai) 51 51 (draw_fun dev_draw)) 52 (states "art/misc.spe" 52 (states "art/misc.spe" 53 53 (stopped "0_not_gate") 54 54 (on_state "1_not_gate"))) 55 55 56 56 57 57 (def_char GATE_XOR 58 58 (funs (ai_fun xor_ai) 59 59 (draw_fun dev_draw)) 60 (states "art/misc.spe" 60 (states "art/misc.spe" 61 61 (stopped "0_xor_gate") 62 62 (on_state "1_xor_gate"))) … … 72 72 (on_state "1_pulse"))) 73 73 74 74 75 75 (def_char INDICATOR 76 76 (funs (ai_fun indicator_ai)) 77 (states "art/misc.spe" 77 (states "art/misc.spe" 78 78 (stopped "0_indicator") 79 79 (on_state "1_indicator"))) 80 80 81 81 (defun indicator_ai () 82 82 (if (> (total_objects) 0) … … 111 111 (or_check (- last_object 1)) 112 112 T))) 113 113 114 114 (defun or_ai () 115 115 (if (or_check (- (total_objects) 1)) … … 121 121 (set_aistate 0))) T) 122 122 123 123 124 124 (defun and_check (last_object) 125 125 (if (< last_object 0) … … 128 128 nil 129 129 (and_check (- last_object 1))))) 130 131 130 131 132 132 (defun and_ai () 133 133 (if (and_check (- (total_objects) 1)) -
abuse/trunk/data-mac/lisp/general.lsp
r102 r582 25 25 26 26 (defun spring_cons () (set_yvel -15)) 27 (defun spring_ai () 27 (defun spring_ai () 28 28 (if (or (eq (total_objects) 0) (not (eq (with_object (get_object 0) (aistate)) 0))) 29 29 (select (aistate) … … 32 32 (let ((add_yvel (yvel))) 33 33 (play_sound SPRING_SOUND 127 (x) (y)) 34 (with_object (bg) 34 (with_object (bg) 35 35 (progn 36 36 (set_yvel (+ (yvel) add_yvel)) … … 58 58 (running (rep "spri0001.pcx" 4)))) 59 59 60 (defun pr_draw () 60 (defun pr_draw () 61 61 (draw_predator) 62 62 63 63 ) 64 64 65 65 66 66 (defun train_ai () … … 69 69 (let ((type (aitype))) 70 70 (with_object (bg) 71 (if (local_player) 72 (progn 71 (if (local_player) 72 (progn 73 73 (play_sound (aref voice_hints type)) 74 74 ;(expire_cache_item (aref voice_hints type)) … … 93 93 (states "art/misc.spe" 94 94 (stopped "bubble"))) 95 95 96 96 (defun sball_damage (amount from hitx hity push_xvel push_yvel) ; transfer damage to lower half 97 97 (if (eq (state) stopped) … … 105 105 (ai_fun do_nothing)) 106 106 (flags (hurtable T)) 107 (states "art/misc.spe" 107 (states "art/misc.spe" 108 108 (stopped (seq "swit" 1 9)) 109 109 (running (seq "swit" 10 18)))) … … 114 114 (stopped "pointer"))) 115 115 116 (defun shifter_cons () 117 (set_xvel 300) 118 (set_yvel 300) 119 (set_xacel 0) 116 (defun shifter_cons () 117 (set_xvel 300) 118 (set_yvel 300) 119 (set_xacel 0) 120 120 (set_yacel -1)) 121 121 122 122 (defun holder_ai () 123 123 (select (total_objects) 124 (2 124 (2 125 125 (let ((newx (+ (with_object (get_object 1) (x)) (xvel))) 126 126 (newy (+ (with_object (get_object 1) (y)) (yvel)))) … … 129 129 (set_y newy) 130 130 T)) 131 (3 131 (3 132 132 (if (with_object (get_object 2) (not (eq (aistate) 0))) 133 133 (let ((newx (+ (with_object (get_object 1) (x)) (xvel))) … … 137 137 (set_y newy) 138 138 T) 139 (if (eq (xacel) 1) 139 (if (eq (xacel) 1) 140 140 nil 141 141 T))) … … 145 145 (0 nil) 146 146 (1 nil))) 147 147 148 148 149 149 (def_char OBJ_HOLDER -
abuse/trunk/data-mac/lisp/german.lsp
r566 r582 6 6 7 7 8 (select section 8 (select section 9 9 ('game_section 10 10 … … 104 104 (setq sens_cs "Jetztstatus") 105 105 (setq tp_amb "Umgebung") 106 107 108 106 107 108 109 109 (setq ai_xvel "Xvel ") 110 110 (setq ai_yvel "Yvel ") … … 118 118 (setq ai_state "AI-Status") 119 119 (setq ai_fade "Transparenz 0-15") 120 120 121 121 (setq a_ambient "Umgebung ") 122 122 (setq a_aspeed "Umgeb.-Tempo") … … 133 133 (setq ap_pal "Palette hinzu") 134 134 (setq mouse_at "Maus an Punkt %d, %d\n") 135 135 136 136 137 137 (setq l_links "Link") … … 152 152 (setq y_div "Y div") 153 153 154 /*********** New for Version 1.45 ***********************/ 155 156 157 ;; Weitere Einzelheiten zu den Benutzerrechten unter Lizenzrechte. 154 /*********** New for Version 1.45 ***********************/ 155 156 157 ;; Weitere Einzelheiten zu den Benutzerrechten unter Lizenzrechte. 158 158 159 159 … … 161 161 (setq edit_top "Bearbeiten") 162 162 (setq window_top "Fenster") 163 (setq menu1_load "Level laden") 163 (setq menu1_load "Level laden") 164 164 (setq menu1_save "Level speichern (S)") 165 165 (setq menu1_saveas "Level speichern als") … … 206 206 (setq level_size "Levelgráe") 207 207 ; 012345678901234567 (please keep same allignment of Name level & total) 208 (setq score_header "Name Level gesamt") ; V-E 208 (setq score_header "Name Level gesamt") ; V-E 209 209 (setq space_cont "LEERTASTE, um fortzufahren ") ; V-E 210 210 (setq no_saved "Kein gespeichertes Spiel") … … 221 221 (setq gamma_msg "Klicken Sie die dunkelste Farbe \nauf Ihrem Monitor an, und klicken Sie OK.") 222 222 (setq telep_msg "Pfeiltaste (unten) drcken, um zu teleportieren.") 223 224 223 225 224 (defun get_train_msg (message_num) 226 (select message_num 225 (select message_num 227 226 (0 "Mit der Maus zielen und mit Linksklick feuern.") 228 227 (1 "Munition sammeln, um Schuárate zu erhhen.") … … 237 236 (10 "Kugel anschieáen, um zu aktivieren.") 238 237 (11 "Pfeiltaste (unten) drcken, um zu teleportieren."))) 239 238 240 239 (setq not_there "Spiel luft nicht mehr ") 241 240 (setq max_error "Max Spielerzahl sollte gleich oder mehr als Min Spielerzahl sein ") ; V-C changed … … 270 269 " - TSR's u. fr ABUSE nicht bentigte Treiber beseitigen\n" 271 270 " - Machen Sie mehr Speicher frei\n")) 272 271 273 272 (setq no_mem (concatenate 'string "Nicht gengend Speicher verfgbar\n" 274 273 " Vorschlge...\n" 275 274 " - Startdiskette erstellen (Info im Handbuch)\n" 276 275 " - TSR's u. fr ABUSE nicht bentigte Treiber beseitigen\n" 277 278 276 " - Machen Sie mehr Speicher frei\n")) 279 277 … … 311 309 (setq to_be_continued "Fortsetzung folgt.....") 312 310 (setq no_edit "Diese Abuse-Version hat keine Edit-Funktionen") 313 (setq no_hirez "High-Res. gibt es nur im Edit-Modus (-edit)") 311 (setq no_hirez "High-Res. gibt es nur im Edit-Modus (-edit)") 314 312 (setq no2 "-2 kann nicht mit -edit zusammen benutzt werden") 315 313 (setq no_pals "Paletten sind nicht definiert") … … 321 319 (setq d_nosel "Kein Objekt oder Licht zum Lschen ausgewhlt.") 322 320 (setq forward? "Welches Objekt mitnehmen?") 323 (setq back? "Welches Objekt zurcklegen?") 321 (setq back? "Welches Objekt zurcklegen?") 324 322 (setq aitype? "AI ndern wofr?") 325 323 (setq prof_off "Cache-Profiling ist jetzt aus.") … … 332 330 (setq quit_title "Abbrechen") 333 331 (setq YES "JA") 334 (setq NO "NEIN") 332 (setq NO "NEIN") 335 333 (setq seqs_off "Kontinuierliche Bildsequenzen aus\n") 336 334 (setq seqs_on " Kontinuierliche Bildsequenzen an (1 Bild alle 5 Sek)\n") … … 353 351 (setq SAVE "SPEICHERN") ; don't let this get too long 354 352 355 (setq net_not_reg 353 (setq net_not_reg 356 354 (concatenate 'string "Dieser Server betreibt die REGISTRIERTE ABUSE Version, Sie aber nicht.\n" 357 355 "Bitten Sie den Betreiber des Servers, mit der Shareware-Version zu spielen,\n" … … 368 366 (setq load_warn nil) 369 367 (if (not (load "register/english.lsp")) 370 (setq end_msg 371 (concatenate 'string 372 "* ndern Sie LISP/OPTIONS.LSP, um einige Optionen fr ABUSE zu 373 " 368 (setq end_msg 369 (concatenate 'string 370 "* ndern Sie LISP/OPTIONS.LSP, um einige Optionen fr ABUSE zu\n" 374 371 " konfigurieren.\n\n" 375 "* Halten Sie beim Einkaufsbummel die Augen auf, denn Ende Mrz '96 erscheint die " 372 "* Halten Sie beim Einkaufsbummel die Augen auf, denn Ende Mrz '96 erscheint die " 376 373 " kommerzielle Version von ABUSE fr acht Spieler, IPX-Netzwerk untersttzt, \n" 377 " mit einem eingebauten Level-Editor, 17 Einzelspieler-Level plus 12 Exklusiv- 378 " 374 " mit einem eingebauten Level-Editor, 17 Einzelspieler-Level plus 12 Exklusiv-\n" 379 375 " Netzwerk- \n Level, todbringenderen Waffen, extra Powerups, \n" 380 " strkeren Feinden, besseren Soundeffekten und noch mehr knstlerischen 381 " 376 " strkeren Feinden, besseren Soundeffekten und noch mehr knstlerischen\n" 382 377 " Effekten.\n\n" 383 378 … … 395 390 396 391 (setq plot_start 397 (concatenate 'string 398 "Ihr Name ist Nick Vrenna. Wir schreiben das Jahr 2009. Sie werden zu Unrecht in 399 " 392 (concatenate 'string 393 "Ihr Name ist Nick Vrenna. Wir schreiben das Jahr 2009. Sie werden zu Unrecht in \n" 400 394 "einem streng bewachten unterirdischen Gefngnis festgehalten, " 401 395 "wo illegale genetische Experimente durchgefhrt werden.\\n" 402 396 "Alan Blake, der leitende Wissenschaftler der Forschungsabteilung, hat das Gen isoliert, " 403 397 "das in Menschen Gewalt und Aggressionen hervorruft. Diese genetische Sequenz, die " 404 '(#\") "Abuse" '(#\") " heiát, ist hochansteckend und verursacht schreckliche " 398 '(#\") "Abuse" '(#\") " heiát, ist hochansteckend und verursacht schreckliche " 405 399 "Transformationen und groteske Nebenwirkungen. " 406 400 "Sie sind die einzige Person, die dagegen immun ist. \\n" 407 "Im Gefngnis bricht ein Aufstand aus, und whrend dieses wilden Durcheinanders werden " 401 "Im Gefngnis bricht ein Aufstand aus, und whrend dieses wilden Durcheinanders werden " 408 402 "alle Zellentren geffnet. Bald sind alle, sowohl Wrter als auch Strflinge, infiziert " 409 403 "und werden in Mutanten transformiert, " 410 404 "die das Gebude in ihre Gewalt bringen.\\n" 411 405 "Ihre einzige Chance zu entkommen ist es, den Kampfanzug anzuziehen und mglichst " 412 "schnell zum Kontroll-Raum zu gelangen, der im untersten Geschoá des Gebudes liegt. " 406 "schnell zum Kontroll-Raum zu gelangen, der im untersten Geschoá des Gebudes liegt. " 413 407 "Erst mssen Sie jedoch die Wasserversorgung des Gefngnisses unterbrechen, damit " 414 408 "das Abuse-infizierte Wasser nicht auch noch die Auáenwelt vergiften kann. Freiheit und " … … 418 412 419 413 (setq plot_middle 420 (concatenate 'string 414 (concatenate 'string 421 415 "Sie haben den anfnglichen Aufstand berlebt, haben sich aber im Gefngnis komplett " 422 "verirrt. Bis jetzt war es verdchtig einfach. \\n" 423 "Wenn Sie ausbrechen wollen - liegt das wirkliche ABUSE noch vor Ihnen. ")) 416 "verirrt. Bis jetzt war es verdchtig einfach. \\n" 417 "Wenn Sie ausbrechen wollen - liegt das wirkliche ABUSE noch vor Ihnen. ")) 424 418 425 419 426 420 (setq plot_end 427 (concatenate 'string 421 (concatenate 'string 428 422 "Glckwunsch! Sie haben das Undenkbare berlebt und sind bis in den Kontroll-Raum " 429 423 "vorgedrungen. Sie haben den Schalter umgelegt, somit die Wasserversorgung " 430 "umgeleitet und der Verbreitung von Abuse Einhalt geboten! "))) 424 "umgeleitet und der Verbreitung von Abuse Einhalt geboten! "))) 431 425 ) 432 426 -
abuse/trunk/data-mac/lisp/guns.lsp
r102 r582 8 8 */ 9 9 10 (setq gun_tints (make-array 11 :initial-contents (list 10 (setq gun_tints (make-array 11 :initial-contents (list 11 11 normal_tint 12 12 (def_tint "art/tints/guns/orange.spe") ; orange … … 22 22 23 23 24 (setq ai_ammo (make-array 9 :initial-contents (list MBULLET_ICON5 25 MBULLET_ICON5 24 (setq ai_ammo (make-array 9 :initial-contents (list MBULLET_ICON5 25 MBULLET_ICON5 26 26 GRENADE_ICON2 27 ROCKET_ICON2 27 ROCKET_ICON2 28 28 PLASMA_ICON20 29 MBULLET_ICON5 30 MBULLET_ICON5 31 MBULLET_ICON5 29 MBULLET_ICON5 30 MBULLET_ICON5 31 MBULLET_ICON5 32 32 MBULLET_ICON5))) 33 33 … … 50 50 (setq sgb_bright_color (find_rgb 255 255 200)) 51 51 (setq sgb_medium_color (find_rgb 150 150 0)) 52 (if creator 52 (if creator 53 53 (progn 54 54 (setq sgb_speed (+ sgb_speed (/ (xvel) 2))) … … 64 64 (setq sgb_lasty (y)) 65 65 (setq sgb_angle angle) 66 66 67 67 (setq sgb_bright_color (find_rgb 255 128 64)) 68 68 (setq sgb_medium_color (find_rgb 255 0 0)) 69 (if creator 69 (if creator 70 70 (progn 71 71 (setq sgb_speed (+ sgb_speed (/ (xvel) 2))) … … 77 77 (play_sound GRENADE_THROW 127 x y) 78 78 (set_course angle 20) 79 (if creator 79 (if creator 80 80 (progn 81 81 (link_object creator) … … 83 83 (set_yvel (+ (yvel) (with_object creator (yvel)))) 84 84 )) 85 85 86 86 (set_frame_angle 0 359 angle) 87 87 ))) … … 93 93 94 94 (if (and target ;; don't link if not in line of site 95 (can_see (x) (y) 95 (can_see (x) (y) 96 96 (with_object target (x)) 97 97 (with_object target (y)) nil)) … … 111 111 (setq sgb_lastx (x)) 112 112 (setq sgb_lasty (y)) 113 (if creator 113 (if creator 114 114 (link_object creator)) 115 115 (set_course angle 200) … … 119 119 (if (not (eq bx T)) 120 120 (if (eq bx nil) 121 (add_object EXPLODE5 (- (x) (random 5)) 121 (add_object EXPLODE5 (- (x) (random 5)) 122 122 (- (y) (random 5)) 0) 123 123 (progn 124 (add_object EXPLODE3 (- (x) (random 5)) 124 (add_object EXPLODE3 (- (x) (random 5)) 125 125 (- (y) (random 5)) 0) 126 (do_damage 10 bx (* (cos sgb_angle) 20) 126 (do_damage 10 bx (* (cos sgb_angle) 20) 127 127 (* (sin sgb_angle) 10))))) 128 128 (setq sgb_lastx (x)) … … 137 137 (play_sound FIREBOMB_SND 127 (x) (y)) 138 138 (set_course angle 20) 139 (if creator 139 (if creator 140 140 (progn 141 141 (link_object creator) … … 148 148 (set_course angle 25) 149 149 (set_aistate angle) 150 (if creator 150 (if creator 151 151 (link_object creator)) 152 152 (dfris_ai) … … 158 158 (setq sgb_lastx (x)) 159 159 (setq sgb_lasty (y)) 160 (if creator 160 (if creator 161 161 (link_object creator)) 162 162 (set_course angle 45) … … 164 164 (if (not (eq bx T)) 165 165 (if (not (eq bx nil)) 166 (do_damage 30 bx (* (cos sgb_angle) 20) 166 (do_damage 30 bx (* (cos sgb_angle) 20) 167 167 (* (sin sgb_angle) 10))))) 168 168 ))) 169 169 170 170 171 171 (9 (with_object (add_object STRAIT_ROCKET x y) 172 172 (progn 173 173 (play_sound MGUN_SND 127 (x) (y)) 174 (if creator 174 (if creator 175 175 (link_object creator)) 176 176 (set_aistate angle) … … 188 188 (setq sgb_bright_color (find_rgb 255 0 0)) 189 189 (setq sgb_medium_color (find_rgb 150 0 0)) 190 (if creator 190 (if creator 191 191 (progn 192 192 (setq sgb_speed (+ sgb_speed (/ (xvel) 2))) … … 195 195 ))) 196 196 197 ) 197 ) 198 198 ) 199 199 … … 227 227 228 228 (1;; unfold 229 (if (next_picture) T 229 (if (next_picture) T 230 230 (progn (set_aistate 3) 231 231 (set_state spray.aim) … … 235 235 236 236 (2;; fold up 237 (if (next_picture) T 237 (if (next_picture) T 238 238 (progn (set_state stopped) 239 239 (set_aistate 0)))) 240 240 241 241 242 242 (3;; swivel down 243 243 (if (> (state_time) spray.fire_delay) … … 268 268 (set_state stopped) 269 269 T)))) 270 271 272 273 274 (defun spray_gun_cons () 270 271 272 273 274 (defun spray_gun_cons () 275 275 (setq spray.bullet_speed 20) 276 276 (setq spray.angle_speed 10) … … 294 294 spray.end_angle 295 295 spray.angle_speed 296 spray.angle) 296 spray.angle) 297 297 298 298 (fields ("hp" ai_health) … … 314 314 315 315 (def_char TRACK_GUN 316 (vars 316 (vars 317 317 fire_delay ; how long between each shot 318 318 fire_delay_left … … 331 331 (constructor track_cons) 332 332 (draw_fun gun_draw) 333 (damage_fun guner_damage)) 333 (damage_fun guner_damage)) 334 334 335 335 (flags (can_block T) … … 387 387 (setq angle new_angle)))) 388 388 389 (defun track_ai () 389 (defun track_ai () 390 390 (if (eq (hp) 0) ;; are we dead? 391 391 nil … … 410 410 (- angle pangle) 411 411 (+ angle (- 360 pangle))))) 412 (let ((closest_dist (if (> clock_dist 180) 412 (let ((closest_dist (if (> clock_dist 180) 413 413 (- 360 clock_dist) 414 414 clock_dist))) … … 419 419 (track_set_angle (mod (+ angle angle_add) 360)) 420 420 (track_set_angle (mod (+ (- angle angle_add) 360) 360))) 421 (if (< angle_add 5);; pretty close to target, FIRE! 421 (if (< angle_add 5);; pretty close to target, FIRE! 422 422 (track_fire)))))) 423 423 (setq fire_delay_left (- fire_delay_left 1))) … … 430 430 (set_targetable nil) 431 431 (set_state stopped) 432 T)))) 433 434 435 436 437 432 T)))) 433 434 435 436 437 -
abuse/trunk/data-mac/lisp/jugger.lsp
r102 r582 4 4 (defun jug_ai () 5 5 (if (<= (hp) 0) 6 (if (eq (state) dieing) 6 (if (eq (state) dieing) 7 7 (if (not (next_picture)) 8 8 (progn … … 12 12 (set_state dieing)) 13 13 (if (activated) 14 (progn 14 (progn 15 15 (set_targetable T) 16 16 (push_char 35 40) 17 (select (aistate) 17 (select (aistate) 18 18 (0 ;; prepare to walk toward player 19 19 (if (eq stationary 0) … … 31 31 (set_direction (toward)) 32 32 (let ((curx (x));; save position in case we fall off a cliff 33 (cury (y))) 34 (if (next_picture) 33 (cury (y))) 34 (if (next_picture) 35 35 (if (eq (current_frame) 8) 36 36 (play_sound JSTOMP_SND 127 (x) (y))) … … 54 54 (xspeed (* throw_xvel (direction))) 55 55 (yspeed throw_yvel)) 56 (with_object (add_object GRENADE (x) (- (y) 24) 1) 56 (with_object (add_object GRENADE (x) (- (y) 24) 1) 57 57 (progn 58 58 (user_fun myself) … … 63 63 (3 ;; wait for fire animation 64 64 (if (next_picture) nil (set_aistate 0)))) 65 T) 65 T) 66 66 (progn (set_targetable nil) 67 67 T)))) 68 68 69 69 (defun jug_cons () 70 70 (setq throw_xvel 13) … … 92 92 ("aistate" ai_state)) 93 93 94 (states "art/jug.spe" 94 (states "art/jug.spe" 95 95 (stopped "robo0001.pcx") 96 96 (running (seq "rwlk" 1 13)) … … 113 113 (set_targetable T) ;; can lock into us 114 114 (push_char 30 55))) ;; push player away 115 115 116 116 (if (or (< (total_objects) 1) ;; if not linked or link is on 117 117 (not (eq (with_object (get_object 0) (aistate)) 0))) … … 134 134 135 135 (if (<= (hp) 0) ;; are we dead, if so blow up 136 (progn 137 (add_object EXPLODE1 (+ (x) 5) (- (y) 10) 0) 136 (progn 137 (add_object EXPLODE1 (+ (x) 5) (- (y) 10) 0) 138 138 (add_object EXPLODE1 (+ (x) -5) (- (y) 15) 2) ;; wait 2 frames before appearing 139 139 (add_object EXPLODE1 (+ (x) 10) (- (y) 2) 1) … … 148 148 (push_char 30 55) 149 149 (< (state_time) 3)))) ;; return nil (dead) if we've been in this state for 3 frames 150 151 152 153 (defun explo_damage (amount from hitx hity push_xvel push_yvel) 150 151 152 153 (defun explo_damage (amount from hitx hity push_xvel push_yvel) 154 154 (add_object EXPLODE6 (+ (x) (- 10 (random 20))) (- (y) (random 30)) 0) 155 155 (damage_fun amount from hitx hity 0 0) … … 167 167 (flags (hurtable T) 168 168 (can_block T)) 169 (abilities (run_top_speed 4) 169 (abilities (run_top_speed 4) 170 170 (start_hp 70) 171 171 (push_xrange 1)) … … 175 175 ("rob_hiden" rob_hide) 176 176 ("hp" ai_health)) 177 (states "art/rob1.spe" 177 (states "art/rob1.spe" 178 178 (rob_hiding "hiding") 179 179 (stopped (seq "clen" 1 10)))) … … 195 195 nil nil nil) 196 196 T))) 197 197 198 198 (defun who_cache (type) `((,STRAIT_ROCKET) nil)) 199 199 … … 207 207 (flags (hurtable T)) 208 208 (abilities (start_hp 20)) 209 (vars fire_delay burst_delay burst_total burst_wait burst_left 209 (vars fire_delay burst_delay burst_total burst_wait burst_left 210 210 max_xvel max_yvel smoke_time fire_time) 211 211 (fields ("fire_delay" who_fdelay) … … 217 217 ("aistate" ai_state)) 218 218 219 (states "art/rob2.spe" 219 (states "art/rob2.spe" 220 220 (stopped (seq "wgo" 1 3)) 221 221 (running (seq "wgo" 1 3)) … … 231 231 (setq fire_time (- fire_time 1)) 232 232 (if (eq fire_time 0) 233 (progn 233 (progn 234 234 (setq burst_left burst_total) 235 235 (setq burst_wait 0)))) … … 244 244 245 245 246 (defun wrob_cons () 246 (defun wrob_cons () 247 247 (setq fire_delay 4) 248 248 (setq burst_delay 1) … … 267 267 (set_aistate 1)))) 268 268 (1;; stop and fire 269 (burst_fire (+ (x) (* (direction) 28)) (- (y) 35) 269 (burst_fire (+ (x) (* (direction) 28)) (- (y) 35) 270 270 (if (> (direction) 0) 271 271 (mod (- 375 (/ (* burst_left 30) burst_total)) 360) … … 274 274 (set_aistate 0)))) 275 275 T))) 276 277 276 277 278 278 279 279 280 280 (def_char WALK_ROB 281 281 (funs (ai_fun wrob_ai) 282 (constructor wrob_cons) 282 (constructor wrob_cons) 283 283 (damage_fun guner_damage)) 284 284 (abilities (run_top_speed 12)) 285 285 (flags (hurtable T) (can_block T)) 286 286 (range 300 100) 287 (vars fire_delay burst_delay burst_total burst_wait burst_left 287 (vars fire_delay burst_delay burst_total burst_wait burst_left 288 288 max_xvel max_yvel smoke_time fire_time) 289 289 (fields ("fire_delay" wrob_fdelay) … … 295 295 ("aistate" ai_state)) 296 296 297 (states "art/rob2.spe" 297 (states "art/rob2.spe" 298 298 (stopped "wwlk0001.pcx") 299 299 (running (seq "wwlk" 1 10)) -
abuse/trunk/data-mac/lisp/ladder.lsp
r102 r582 43 43 (stopped "step") 44 44 (running "step_gone"))) 45 46 47 45 46 -
abuse/trunk/data-mac/lisp/light.lsp
r102 r582 9 9 (eq (with_object (get_object 0) (aistate)) 0) 10 10 nil))) 11 11 12 12 13 13 (defun dim_ai () … … 70 70 (flags (unlistable T)) 71 71 (fields ("aistate" ai_state) 72 ("xvel" dimmer_step_amount) 73 ("yvel" dimmer_steps) 72 ("xvel" dimmer_step_amount) 73 ("yvel" dimmer_steps) 74 74 ("aitype" dimmer_dist) 75 75 ("xacel" dimmer_dedist) … … 85 85 (constructor dim_cons)) 86 86 (fields ("aistate" ai_state) 87 ("xvel" dimmer_step_amount) 87 ("xvel" dimmer_step_amount) 88 88 ("yvel" dimmer_steps) 89 89 ("yacel" dimmer_silent)) -
abuse/trunk/data-mac/lisp/options.lsp
r102 r582 50 50 51 51 ; this option allows the game to exit a idle game after 1 minute 52 ; and go into a demo 52 ; and go into a demo 53 53 54 54 ; (demo_break_enable) -
abuse/trunk/data-mac/lisp/people.lsp
r102 r582 3 3 4 4 (setq bright_tint (def_tint "art/tints/cop/bright.spe")) ;; used when the player fires a weapon 5 (setq player_tints (make-array 8 :initial-contents (list 5 (setq player_tints (make-array 8 :initial-contents (list 6 6 0 ; 0 this is not used 7 7 (def_tint "art/tints/cop/blue.spe") ; 1 bright blue … … 15 15 ))) 16 16 17 (setq player_text_color (make-array 8 :initial-contents (list 17 (setq player_text_color (make-array 8 :initial-contents (list 18 18 43 ; 0 brown 19 19 216 ; 1 blue … … 25 25 192))) ; 7 purple 26 26 27 (setq cop_dead_parts (make-array (* 4 3) :initial-contents 27 (setq cop_dead_parts (make-array (* 4 3) :initial-contents 28 28 ; head arm leg 29 29 '((CP_1 "4dha") (CP_2 "4daa") (CP_3 "4dba") ; disapear … … 35 35 (do ((i 0 (setq i (+ i 1)))) 36 36 ((>= i 12) nil) 37 (setq (aref cop_dead_parts i) 38 (make_dead_part (car (aref cop_dead_parts i)) 37 (setq (aref cop_dead_parts i) 38 (make_dead_part (car (aref cop_dead_parts i)) 39 39 (car (cdr (aref cop_dead_parts i))) 4 "art/cop.spe" 'dead_cop_part_draw))) 40 40 … … 49 49 50 50 51 51 52 52 53 53 (defun give_player_health (amount) … … 70 70 T))) 71 71 ) 72 72 73 73 74 74 … … 122 122 nil 123 123 (select signal 124 (SET_SNEAKY_TIME 125 (progn 124 (SET_SNEAKY_TIME 125 (progn 126 126 (set_sneaky_time value) 127 127 (with_obj0 (set_sneaky_time value)))) 128 128 (SET_VISOR_TIME (set_visor_time value)) 129 (SET_FAST_TIME 130 (progn 129 (SET_FAST_TIME 130 (progn 131 131 (set_fast_time value) 132 132 (with_obj0 (set_fast_time value)))) 133 (SET_FADE_COUNT (set_fade_count value) 133 (SET_FADE_COUNT (set_fade_count value) 134 134 (with_obj0 (set_fade_count value))) 135 135 136 136 ))) 137 137 138 138 139 139 (defun cop_adjust_top (return) … … 165 165 (if (> ym 0) 166 166 (progn 167 (if (eq (current_frame) 0) (set_current_frame 9) 167 (if (eq (current_frame) 0) (set_current_frame 9) 168 168 (set_current_frame (- (current_frame) 1))) 169 169 (set_y (+ (y) 3))) … … 188 188 189 189 0) 190 (if (and (>= (yvel) 0) (or (> ym 0) 190 (if (and (>= (yvel) 0) (or (> ym 0) 191 191 (and (< ym 0) (> yd 8)))) 192 192 (progn … … 202 202 (cop_adjust_top (mover xm ym but)))) 203 203 )))) 204 205 204 205 206 206 (defun undo_special_power (xm ym but) 207 207 (select special_power … … 222 222 (set_yvel (- (yvel) 1))) 223 223 ) 224 225 226 (FAST_POWER 224 225 226 (FAST_POWER 227 227 (setq used_special_power 1) 228 228 (setq last1_x (x)) … … 230 230 (if (> (total_objects) 0) 231 231 (with_obj0 232 (if (> fire_delay1 0) 232 (if (> fire_delay1 0) 233 233 (setq fire_delay1 (- fire_delay1 1))))) 234 234 235 235 236 236 (let ((in_area in_climbing_area) 237 237 (old_yvel (yvel))) … … 240 240 (if (and (< ym 0) (eq old_yvel 0) (< (yvel) 0)) 241 241 (set_yvel (+ (yvel) (/ (yvel) 3)))) 242 242 243 243 ) 244 244 … … 246 246 (setq last2_y (y))) 247 247 248 (SNEAKY_POWER (if (<= used_special_power 15) 248 (SNEAKY_POWER (if (<= used_special_power 15) 249 249 (setq used_special_power (+ used_special_power 1)))) 250 250 )) … … 261 261 (climb_handler xm ym but))) 262 262 263 /*(defun cop_mover (xm ym but) 264 (if (> (yvel) 10) 265 (progn 263 /*(defun cop_mover (xm ym but) 264 (if (> (yvel) 10) 265 (progn 266 266 (set_yacel 0) 267 267 (set_yvel (- (yvel) 1)))) ;; terminal velocity 268 268 (select (aistate) 269 (JUST_START 270 (if (eq but 0) ; wait till user lets go of button before moving 269 (JUST_START 270 (if (eq but 0) ; wait till user lets go of button before moving 271 271 (progn 272 272 (set_aistate NORMAL_PLAY) … … 299 299 (do_special_power xm ym but) 300 300 (undo_special_power xm ym but)) 301 301 302 302 (let ((ret (player_move xm ym but)) 303 303 (other (me))) 304 (with_obj0 304 (with_obj0 305 305 (progn 306 306 (set_x (with_object other (x))) 307 (set_y (- (- (with_object other (y)) -29) 307 (set_y (- (- (with_object other (y)) -29) 308 308 (with_object other (picture_height)))) 309 309 )) … … 311 311 (not (eq (state) dead)) (not (eq (state) dieing))) 312 312 (let ((ammo (ammo_total (current_weapon_type)))) 313 (add_ammo (current_weapon_type) (with_obj0 313 (add_ammo (current_weapon_type) (with_obj0 314 314 (user_fun 'FIRE ammo))) 315 315 nil)) … … 365 365 ;; save the level we are so joining clients know which one to load 366 366 (if (not (am_a_client)) 367 (open_file "addon/deathmat/cur_lev.lsp" "wb" 367 (open_file "addon/deathmat/cur_lev.lsp" "wb" 368 368 (print `(setq current_net_level ,current_net_level)))) 369 369 … … 376 376 377 377 378 ))) 378 ))) 379 379 ) 380 380 … … 383 383 (JUST_START T) 384 384 (NORMAL_PLAY T))) 385 385 386 386 (defun change_mode (new_mode) 387 387 (setq disable_top_draw (if (should_draw_top? new_mode) 0 1)) … … 392 392 (put_image (- (view_x2) 20) (+ (view_y1) 5) fast_image)) 393 393 (if (eq used_special_power 1) 394 (if (> (total_objects) 0) 394 (if (> (total_objects) 0) 395 395 (let ((nowx (x)) 396 396 (nowy (y)) … … 431 431 432 432 (defun player_draw (num) 433 (if (eq num 0) 433 (if (eq num 0) 434 434 (if (eq just_fired 1) ;; if they just fired a weapon, draw them lite up.. use the bright tint 435 435 (progn … … 439 439 ; (draw_tint (aref player_tints (aitype))) 440 440 ) 441 (if (eq just_fired 1) 441 (if (eq just_fired 1) 442 442 (progn 443 443 (draw_double_tint (aref player_tints num) bright_tint) 444 (setq just_fired 0)) ;; ok to change this in the draw function only if it is not accessed anywhere else! 444 (setq just_fired 0)) ;; ok to change this in the draw function only if it is not accessed anywhere else! 445 445 (draw_tint (aref player_tints num))))) 446 446 … … 468 468 (setq b_ramp 0))) 469 469 470 (if (local_player) 470 (if (local_player) 471 471 (tint_palette r_ramp g_ramp b_ramp)))) 472 472 … … 474 474 (select (aistate) 475 475 (JUST_START (player_draw (player_number))) 476 (NORMAL_PLAY 476 (NORMAL_PLAY 477 477 (select special_power 478 478 (NO_POWER (player_draw (player_number))) … … 481 481 (put_image (- (view_x2) 20) (+ (view_y1) 5) health_image))) 482 482 (FAST_POWER (draw_fast) (player_draw (player_number))) 483 (FLY_POWER (player_draw (player_number)) 483 (FLY_POWER (player_draw (player_number)) 484 484 (if (local_player) 485 485 (put_image (- (view_x2) 20) (+ (view_y1) 5) fly_image))) 486 (SNEAKY_POWER 486 (SNEAKY_POWER 487 487 (if (local_player) 488 488 (put_image (- (view_x2) 20) (+ (view_y1) 5) sneaky_image)) … … 503 503 504 504 (if (eq (total_players) 1) ;; is this a single player game? 505 (request_level_load (if (eq has_saved_this_level 0) 505 (request_level_load (if (eq has_saved_this_level 0) 506 506 (progn 507 507 (set_hp 100) … … 514 514 515 515 516 (defun start_cache (type) 516 (defun start_cache (type) 517 517 `((,DARNEL) nil)) 518 518 … … 539 539 (aref player_text_color (player_number))))) 540 540 (p_compass_draw (next_focus player))))) 541 541 542 542 543 543 (defun compass_draw () … … 626 626 )) 627 627 628 628 629 629 (defun clone_ai () 630 630 (if (and (< (state_time) 200) (not (eq (state) dead))) … … 636 636 (-1 (if (blocked_left (move -1 0 0)) 637 637 (set_direction 1) 638 nil))) 638 nil))) 639 639 (if (or (> (state_time) 185) (eq (state) dieing)) 640 640 (set_fade_count (+ (fade_count) 1)) 641 nil) 641 nil) 642 642 T) 643 643 nil)) … … 649 649 650 650 (or (eq state stopped) (eq state running) 651 (eq state run_jump) (eq state run_jump_fall) 651 (eq state run_jump) (eq state run_jump_fall) 652 652 (eq state end_run_jump))) 653 653 … … 655 655 (if (> (total_objects) 0) 656 656 (let ((other (get_object 0))) 657 (if (or (with_object other (morphing)) 657 (if (or (with_object other (morphing)) 658 658 (eq (with_object other disable_top_draw) 1) 659 659 (not (top_draw_state (with_object other (state))))) … … 664 664 (with_object other (player_number))) 665 665 (let ((nowx (x)) 666 (nowy (y))) 666 (nowy (y))) 667 667 (set_x (with_object other (if (> (direction) 0) (x) (+ (x) 2)))) 668 668 (set_y (- (- (with_object other (y)) -29) (with_object other (picture_height)))) … … 695 695 (defun player_fire_weapon (type target) 696 696 (let ((angle (with_obj0 (player_angle_suggestion)))) 697 697 698 698 (let ((firex (+ (x) (* (cos angle) 17) (xvel))) 699 699 (firey (+ (- (y) (* (sin angle) 16) 20) (yvel)))) 700 (if (can_see (x) (- (y) 16) firex firey nil) 700 (if (can_see (x) (- (y) 16) firex firey nil) 701 701 (progn 702 702 (fire_object (get_object 0) type firex firey angle target) … … 704 704 nil)))) 705 705 706 /* (defun top_ai () 706 /* (defun top_ai () 707 707 (if (> (total_objects) 0) 708 708 (let ((myself (get_object 0))) 709 709 710 710 (set_state rotate) 711 (let ((angle (with_object myself 711 (let ((angle (with_object myself 712 712 (if (> (direction) 0) 713 713 (player_angle_suggestion) … … 722 722 (select (aistate) 723 723 (2 ; start fire up 724 (progn 724 (progn 725 725 (set_state rotate_fire) 726 (set_frame_angle 0 359 (with_object myself 726 (set_frame_angle 0 359 (with_object myself 727 727 (if (> (direction) 0) 728 728 (player_angle_suggestion) … … 735 735 ;; (let ((otype (otype))) 736 736 ;; (with_object myself (add_ammo otype -1))) 737 ;; (with_object (add_object (ammo_type) (x) (- (y) 16) 1) 737 ;; (with_object (add_object (ammo_type) (x) (- (y) 16) 1) 738 738 ;; (user_fun myself)) 739 739 (set_aistate 3))) … … 752 752 ))) 753 753 (set_otype (with_object myself (weapon_to_type (current_weapon_type))))))) 754 (move 0 0 0) 754 (move 0 0 0) 755 755 T) 756 756 … … 762 762 (select signal 763 763 ('FIRE (if (eq (aistate) 0) ;; not already firing 764 (if (> value 0) ;; have ammo 765 (progn 764 (if (> value 0) ;; have ammo 765 (progn 766 766 (setq fire_delay1 3) 767 767 (set_aistate 2) … … 769 769 -1 770 770 0)) 771 (progn 771 (progn 772 772 (setq fire_delay1 7) 773 773 (set_aistate 2) … … 775 775 776 776 0)) 777 0)) 777 0)) 778 778 ('RESET_FIRE_OK (>= (state_time) fire_delay1)))) 779 779 … … 812 812 (setq fire_delay1 12) 813 813 (set_aistate 2) 814 (if (player_fire_weapon (ammo_type) 815 (with_obj0 (find_object_in_area 814 (if (player_fire_weapon (ammo_type) 815 (with_obj0 (find_object_in_area 816 816 (- (x) 160) (- (y) 160) 817 (+ (x) 160) (+ (y) 160) 817 (+ (x) 160) (+ (y) 160) 818 818 bad_guy_list))) 819 819 -1 0)) … … 835 835 (DFRIS_TOP (list DFRIS_BULLET)) 836 836 nil))) 837 837 838 838 839 839 (defun make_top_char (symbol base ufun dfun) … … 850 850 (stopped (seq ,base 1 24)))))) 851 851 852 852 853 853 854 854 (make_top_char 'MGUN_TOP "4gma" 'laser_ufun 'top_draw) … … 869 869 (if (and (touching_bg) (with_object (bg) (pressing_action_key))) 870 870 (set_aistate 2))) 871 (2 (set_state running) 871 (2 (set_state running) 872 872 (set_aistate 3)) 873 (3 (set_aistate 4)) 874 (4 873 (3 (set_aistate 4)) 874 (4 875 875 (let ((spot (get_save_slot))) 876 876 (set_state stopped) … … 892 892 ))) 893 893 T) 894 894 895 895 896 896 (def_char RESTART_POSITION … … 909 909 (request_level_load (concatenate 'string "levels/level" (digstr (aistate) 2) ".spe"))))) 910 910 T) 911 911 912 912 913 913 (def_char NEXT_LEVEL 914 (funs (ai_fun next_level_ai)) 914 (funs (ai_fun next_level_ai)) 915 915 (flags (can_block T)) 916 916 (fields ("aistate" next_level)) … … 947 947 (set_direction 1)) 948 948 (set_fade_count (- (fade_count) 1))))) 949 950 949 950 951 951 (def_char TELE_BEAM 952 952 (funs (ai_fun tele_beam_ai)) -
abuse/trunk/data-mac/lisp/platform.lsp
r102 r582 48 48 (let ((speed (plat_speed))) 49 49 (let ((newx (- destx (/ (* (- destx sourcex) (xvel)) speed))) 50 (newy (- desty (/ (* (- desty sourcey) (xvel)) speed)))) 50 (newy (- desty (/ (* (- desty sourcey) (xvel)) speed)))) 51 51 (progn 52 52 (platform_push (- newx (x)) (- newy (y))) … … 57 57 (defun platform_ai () 58 58 (if (or (eq (total_objects) 2) ;; no switch to listen to processed as normal 59 (and (eq (total_objects) 3) 59 (and (eq (total_objects) 3) 60 60 (not (eq (with_object (get_object 2) (aistate)) 0)))) ;; see if switch is active 61 61 (progn … … 78 78 (play_sound PLAT_A_SND 127 (x) (y)) 79 79 (set_aitype (- 1 (aitype))) 80 (set_xvel (plat_speed));; steps to go 80 (set_xvel (plat_speed));; steps to go 81 81 (go_state 3)) 82 82 83 83 (3 ;; go to dest 84 (if (eq (xvel) 6) 84 (if (eq (xvel) 6) 85 85 (play_sound PLAT_D_SND 127 (x) (y))) 86 86 (platform_move (get_object (aitype)) (get_object (- 1 (aitype))))) … … 88 88 (set_state stopped)) 89 89 T) 90 91 90 92 91 … … 120 119 121 120 121 -
abuse/trunk/data-mac/lisp/playwav.lsp
r102 r582 9 9 nil 10 10 (progn 11 (print (concatenate 'string "Playing " (argv arg_on) 11 (print (concatenate 'string "Playing " (argv arg_on) 12 12 ", type c <ENTER> to continue")) 13 13 (play_sound (def_sound (argv arg_on))) -
abuse/trunk/data-mac/lisp/powerup.lsp
r102 r582 2 2 ;; See licensing information for more details on usage rights 3 3 4 (defun key_ai () (if (touching_bg) 5 (progn 4 (defun key_ai () (if (touching_bg) 5 (progn 6 6 (play_sound YEAH_SOUND 127 (x) (y)) 7 7 nil) T)) 8 8 9 (defun hp_up () 9 (defun hp_up () 10 10 (next_picture) 11 11 … … 37 37 (states "art/compass.spe" (stopped "compass" ))) 38 38 39 (defun fast_ai () 39 (defun fast_ai () 40 40 (next_picture) 41 (if (touching_bg) 42 (progn (with_object (bg) 41 (if (touching_bg) 42 (progn (with_object (bg) 43 43 (progn 44 44 (setq special_power FAST_POWER) -
abuse/trunk/data-mac/lisp/sfx.lsp
r566 r582 47 47 (def_sound 'TICK_SND (sfxdir "timerfst.wav")) 48 48 49 (setq PLAYER_PAIN (make-array 4 :initial-contents 49 (setq PLAYER_PAIN (make-array 4 :initial-contents 50 50 (list (def_sound (sfxdir "plpain01.wav")) 51 51 (def_sound (sfxdir "plpain02.wav")) … … 58 58 (def_sound (sfxdir "pldeth05.wav")) 59 59 (def_sound (sfxdir "pldeth07.wav"))))) 60 60 61 61 62 62 ;; jugger stomp … … 80 80 81 81 ;; shotgun/laser taking from the lava sample 82 (def_sound 'ZAP_SND (sfxdir "zap2.wav")) 82 (def_sound 'ZAP_SND (sfxdir "zap2.wav")) 83 83 84 84 ;; rocket launch sound … … 93 93 94 94 ;; machine gun hitting the floor, sounds 1 & 2, played randomly 95 (def_sound 'MG_HIT_SND1 (sfxdir "mghit01.wav")) 95 (def_sound 'MG_HIT_SND1 (sfxdir "mghit01.wav")) 96 96 (def_sound 'MG_HIT_SND2 (sfxdir "mghit02.wav")) 97 97 … … 131 131 ;; electricity shooting up from the ground 132 132 (def_sound 'ELECTRIC_SND (sfxdir "elect02.wav")) 133 133 134 134 ;; rocket being fired 135 135 (def_sound 'ROCKET_SND (sfxdir "rocket02.wav")) … … 185 185 186 186 187 (setq AMB_SOUNDS (make-array 17 :initial-contents (list 187 (setq AMB_SOUNDS (make-array 17 :initial-contents (list 188 188 (def_sound (sfxdir "ambtech1.wav")) ;; 0 189 189 (def_sound (sfxdir "ambtech2.wav")) ;; 1 … … 205 205 ))) 206 206 207 (setq voice_hints (make-array 12 :initial-contents (list 207 (setq voice_hints (make-array 12 :initial-contents (list 208 208 (def_sound "sfx/voice/aimsave.wav") 209 209 (def_sound "sfx/voice/ammosave.wav") … … 238 238 T))) 239 239 240 241 (defun ambs_cons () 240 241 (defun ambs_cons () 242 242 (set_xvel 100) ;; delay time to 100 243 243 (set_yvel 127)) ;; set volume default to 127 244 244 245 (def_char AMBIENT_SOUND 245 (def_char AMBIENT_SOUND 246 246 (funs (ai_fun amb_sound_ai) 247 247 (draw_fun dev_draw) … … 250 250 (range 500 500) 251 251 (fields ("aitype" amb_num) 252 ("yvel" amb_vol) 252 ("yvel" amb_vol) 253 253 ("xvel" amb_rep) 254 254 ("xacel" amb_rand)) 255 255 (states "art/misc.spe" 256 256 (stopped "sfx_player"))) 257 257 258 258 (setq song_list '("music/abuse01.hmi" "music/abuse02.hmi")) 259 259 (setq current_song song_list) … … 265 265 (break) 266 266 (setq current_song (cdr current_song)) 267 (if (not current_song) 267 (if (not current_song) 268 268 (setq current_song song_list)) 269 269 (break) 270 270 ))) 271 271 272 272 273 273 (defun level_loaded (name) 274 274 (trace) -
abuse/trunk/data-mac/lisp/startup.lsp
r102 r582 6 6 (setq load_warn nil) 7 7 8 (if (local_load "addon/deathmat/username.lsp") 8 (if (local_load "addon/deathmat/username.lsp") 9 9 (set_login username)) 10 10 11 (if (local_load "addon/deathmat/gamename.lsp") 11 (if (local_load "addon/deathmat/gamename.lsp") 12 12 (set_game_name gamename) 13 13 (set_game_name "Joe's Game")) -
abuse/trunk/data-mac/lisp/switch.lsp
r102 r582 2 2 ;; See licensing information for more details on usage rights 3 3 4 (defun switcher_ai () 4 (defun switcher_ai () 5 5 (next_picture) 6 6 (select (aistate) … … 9 9 (progn 10 10 (play_sound SWITCH_SND 127 (x) (y)) 11 (set_state running) 11 (set_state running) 12 12 (set_aistate 1)))) 13 (1 ; wait for player to let go of button 13 (1 ; wait for player to let go of button 14 14 (if (not (with_object (bg) (pressing_action_key))) 15 15 (set_aistate 2))) … … 19 19 (play_sound SWITCH_SND 127 (x) (y)) 20 20 (set_state stopped) 21 (set_aistate 4)))) 21 (set_aistate 4)))) 22 22 (4 ; wait for player to let go of button 23 23 (if (not (with_object (bg) (pressing_action_key))) … … 25 25 ) 26 26 T) 27 28 29 (defun switch_once_ai () 27 28 29 (defun switch_once_ai () 30 30 (select (aistate) 31 31 (0 ; waiting for player to press, then turn to on … … 38 38 (set_aistate 1))))) 39 39 T) 40 40 41 41 (defun lower_reload () (lower)) ;; move object below all other objects 42 42 43 43 (def_char SWITCH 44 44 (funs (ai_fun switcher_ai) 45 45 (reload_fun lower_reload)) 46 (range 0 0) 46 (range 0 0) 47 47 (states "art/misc.spe" 48 48 (stopped '("switch_off1" "switch_off2")) … … 52 52 (funs (ai_fun switch_once_ai) 53 53 (reload_fun lower_reload)) 54 (range 0 0) 54 (range 0 0) 55 55 (states "art/misc.spe" 56 56 (stopped '("switch_off1" "switch_off2")) … … 67 67 (vars reset_time) 68 68 (fields ("reset_time" switch_reset)) 69 (range 0 0) 69 (range 0 0) 70 70 (states "art/misc.spe" 71 71 (stopped '("switch_off1" "switch_off2")) … … 99 99 (if (> (total_objects) 1) 100 100 (select (aistate) 101 (0 (if (not (eq (with_object (get_object 0) (aistate)) 0)) 101 (0 (if (not (eq (with_object (get_object 0) (aistate)) 0)) 102 102 (let ((mex (x)) 103 103 (mey (y))) … … 124 124 (with_object (get_object 1) (set_fade_count (- count 1))) 125 125 T))))) 126 126 127 127 nil)) 128 128 … … 138 138 (set_aitype 1) 139 139 (add_hp -10)) 140 140 141 141 142 142 /* -- compiled code … … 144 144 (if (eq (aistate) 0) 145 145 (if (and (< (distx) (xvel)) (< (disty) (yvel))) 146 (progn 146 (progn 147 147 (if (eq (hp) 0) ;; don't time out 148 148 (set_aistate 1) … … 152 152 153 153 (if (eq (hp) 0) 154 (if (or (> (distx) (xacel)) (> (disty) (yacel))) 154 (if (or (> (distx) (xacel)) (> (disty) (yacel))) 155 155 (set_aistate 0)) 156 156 (set_aistate (- (aistate) 1)))) … … 158 158 159 159 (defun sensor_draw () 160 (if (edit_mode) 160 (if (edit_mode) 161 161 (progn 162 162 (draw) … … 216 216 (stopped "off") 217 217 (blocking "on"))) 218 218 219 219 /* 220 220 (defun sensor_linker_ai () 221 221 (if (eq (aistate) 0) 222 222 (if (and (< (distx) (xvel)) (< (disty) (yvel))) 223 (progn 223 (progn 224 224 (if (eq (hp) 0) ;; don't time out 225 225 (set_aistate 1) … … 229 229 230 230 (if (eq (hp) 0) 231 (if (or (> (distx) (xacel)) (> (disty) (yacel))) 231 (if (or (> (distx) (xacel)) (> (disty) (yacel))) 232 232 (set_aistate 0)) 233 233 (set_aistate (- (aistate) 1))))) … … 251 251 (stopped "off") 252 252 (blocking "on"))) 253 253 254 254 */ 255 255 … … 258 258 (let ((st (with_object (get_object current) (state)))) 259 259 (if (or (eq st dead) (eq st blown_back_dead)) 260 (let ((dead_guy (get_object current))) 260 (let ((dead_guy (get_object current))) 261 261 (remove_object (get_object current)) 262 262 dead_guy) … … 268 268 (let ((find (dead_object (- (total_objects) 1)))) 269 269 (if find 270 (add_object (with_object (get_object 0) (otype)) 270 (add_object (with_object (get_object 0) (otype)) 271 271 (with_object find (x)) 272 272 (with_object find (y)))))) 273 273 274 274 T) 275 275 … … 282 282 283 283 284 (defun death_sen_ai () 284 (defun death_sen_ai () 285 285 (if (eq (total_objects) 0) 286 286 (progn -
abuse/trunk/data-mac/lisp/teleport.lsp
r102 r582 7 7 (with_object (get_object 0) 8 8 (if (eq (otype) TP_DOOR) 9 (if (eq is_opening 0) 9 (if (eq is_opening 0) 10 10 (if (and (< (distx) 100) (< (disty) 80)) 11 11 T … … 32 32 (play_sound DOOR_DOWN 127 (x) (y))) 33 33 (set_current_frame (- (current_frame) 1))))) 34 34 35 35 36 36 (defun tpd_ai () ;; teleporting door ai … … 49 49 (othery (with_object (get_object 0) (y)))) 50 50 (with_object (get_object 0) (link_object player)) 51 (with_object player (progn 52 (set_x otherx) 51 (with_object player (progn 52 (set_x otherx) 53 53 (set_y othery))))))) 54 54 T) … … 56 56 57 57 (defun tp_door_cons () (set_xvel -1)) 58 (defun tp_door_draw () (set_ambient_light (bg) (xvel)) (draw)) 58 (defun tp_door_draw () (set_ambient_light (bg) (xvel)) (draw)) 59 59 60 60 (def_char TP_DOOR -
abuse/trunk/data-mac/lisp/userfuns.lsp
r102 r582 8 8 (set_lives first x) 9 9 (set_all_lives (next_focus first) x)))) 10 11 10 12 (defun select_place (x place) 11 12 (defun select_place (x place) 13 13 (- (/ x place) (* (/ x (* place 10)) 10))) 14 14 15 (defun dig2char (x) 15 (defun dig2char (x) 16 16 (code-char (+ x (char-code "0")))) 17 17 … … 25 25 (reverse-seq name first last)) 26 26 ) 27 (defun forward-seq (name first last) 28 (if (> first last) 29 nil 30 (cons (concatenate 'string name (digstr first 4) ".pcx") 27 (defun forward-seq (name first last) 28 (if (> first last) 29 nil 30 (cons (concatenate 'string name (digstr first 4) ".pcx") 31 31 (forward-seq name (+ 1 first) last)))) 32 (defun reverse-seq (name last first) 33 (if (< last first) 34 nil 35 (cons (concatenate 'string name (digstr last 4) ".pcx") 32 (defun reverse-seq (name last first) 33 (if (< last first) 34 nil 35 (cons (concatenate 'string name (digstr last 4) ".pcx") 36 36 (reverse-seq name (- last 1) first)))) 37 37 */ -
abuse/trunk/data-mac/lisp/weapons.lsp
r102 r582 9 9 (if (eq bx T) 10 10 T 11 (progn 11 (progn 12 12 (if (null bx) 13 13 (if (eq (random 2) 0) … … 20 20 (progn 21 21 ; (add_panim EXPLO2 (x) (y) (direction)) 22 ; (add_object EXP_LIGHT (x) (y) 80) 22 ; (add_object EXP_LIGHT (x) (y) 80) 23 23 (do_damage 5 bx (if (> 0 (direction)) -10 10) 0) 24 24 )) … … 29 29 (if (and (eq (tick) 0) 30 30 (if (< (total_objects) 1) 31 nil 31 nil 32 32 (let ((mex (x)) 33 33 (mey (y))) 34 (not (with_object (get_object 0) (find_object_in_area (- mex 7) 35 (- mey 7) 36 (+ mex 7) 34 (not (with_object (get_object 0) (find_object_in_area (- mex 7) 35 (- mey 7) 36 (+ mex 7) 37 37 (+ mey 7) bad_guy_list)))))) 38 38 (progn (next_picture) T) … … 44 44 45 45 (add_object EXPLODE1 (- (x) (random 5)) (+ (y) (random 20)) 0) 46 (hurt_radius (x) (y) 60 40 (if (> (total_objects) 0) (get_object 0) nil) 10) 46 (hurt_radius (x) (y) 60 40 (if (> (total_objects) 0) (get_object 0) nil) 10) 47 47 48 48 (and (or (< (state_time) 3) (not (eq (xvel) 0))) 49 49 (< (state_time) 20) 50 50 (select (direction) 51 (1 (progn ;(set_xvel 30) 51 (1 (progn ;(set_xvel 30) 52 52 (not (blocked_right (move 0 0 0))) 53 53 )) 54 (-1 (progn ;(set_xvel -30) 54 (-1 (progn ;(set_xvel -30) 55 55 (not (blocked_left (move 0 0 0)))))))) 56 57 58 59 60 61 (defun mbullet_ufun (creator) 56 57 58 59 60 61 (defun mbullet_ufun (creator) 62 62 (set_direction (with_object creator (direction))) 63 63 … … 76 76 77 77 78 (defun firebomb_ufun (creator) 78 (defun firebomb_ufun (creator) 79 79 (set_direction (with_object creator (direction))) 80 80 (link_object creator) … … 83 83 84 84 85 (defun player_mine_ufun (creator) 85 (defun player_mine_ufun (creator) 86 86 (set_x (with_object creator (x))) 87 87 (set_y (with_object creator (y))) … … 94 94 (select (aistate) 95 95 (0 96 ;; wait till no player (just in case), or player lets go of fire button 97 (if (or (eq 0 (total_objects)) 96 ;; wait till no player (just in case), or player lets go of fire button 97 (if (or (eq 0 (total_objects)) 98 98 (and (eq (with_object (get_object 0) (player_b1_suggest)) 0) 99 99 (eq (with_object (get_object 0) (player_b2_suggest)) 0))) … … 107 107 (do_explo 50 40) 108 108 )))) 109 109 110 110 111 111 (def_char MBULLET 112 (funs (ai_fun mbullet_ai) 112 (funs (ai_fun mbullet_ai) 113 113 (draw_fun dev_draw) ; you can't see the bullets 114 114 (user_fun mbullet_ufun)) … … 118 118 119 119 120 (defun grenade_ufun (creator) 120 (defun grenade_ufun (creator) 121 121 (set_direction (with_object creator (direction))) 122 122 (play_sound GRENADE_THROW 127 (x) (y)) 123 123 (select (aitype) 124 (1 (progn (set_xvel (if (> (direction) 0) 125 (+ 13 (random 2)) 124 (1 (progn (set_xvel (if (> (direction) 0) 125 (+ 13 (random 2)) 126 126 (+ -13 (random 2)))) (set_yvel -4))) 127 (2 (progn (set_xvel (if (> (direction) 0) 128 (+ 7 (random 2)) 127 (2 (progn (set_xvel (if (> (direction) 0) 128 (+ 7 (random 2)) 129 129 (+ -7 (random 2)))) (set_yvel -10)))) 130 130 (set_xvel (+ (xvel) (with_object creator (xvel)))) … … 133 133 134 134 (defun grenade_cache (type) 135 (list (list EXPLODE1 EXP_LIGHT) 135 (list (list EXPLODE1 EXP_LIGHT) 136 136 (list GRENADE_SND))) 137 137 138 138 139 139 (def_char GRENADE 140 (funs (ai_fun grenade_ai) 140 (funs (ai_fun grenade_ai) 141 141 (get_cache_list_fun grenade_cache) 142 142 (user_fun grenade_ufun)) … … 147 147 148 148 (def_char FIREBOMB 149 (funs (ai_fun firebomb_ai) 149 (funs (ai_fun firebomb_ai) 150 150 (user_fun firebomb_ufun) 151 151 (get_cache_list_fun grenade_cache) … … 159 159 (walking "firebomb"))) 160 160 161 161 162 162 163 163 (defun ammo_cache (type) ;; tells what other chars to load in with this character … … 169 169 (MBULLET_ICON20 `(,SHOTGUN_BULLET ,MGUN_TOP)) 170 170 (ROCKET_ICON2 `(,ROCKET ,ROCKET_TOP)) 171 (ROCKET_ICON5 `(,ROCKET ,ROCKET_TOP)) 171 (ROCKET_ICON5 `(,ROCKET ,ROCKET_TOP)) 172 172 (FBOMB_ICON1 `(,FIREBOMB ,FIREBOMB_TOP)) 173 173 (FBOMB_ICON5 `(,FIREBOMB ,FIREBOMB_TOP)) 174 174 175 175 (PLASMA_ICON20 `(,PLASMAGUN_BULLET)) 176 (PLASMA_ICON50 `(,PLASMAGUN_BULLET)) 176 (PLASMA_ICON50 `(,PLASMAGUN_BULLET)) 177 177 178 178 (LSABER_ICON50 `(,LSABER_BULLET ,PGUN_TOP)) … … 183 183 nil))) 184 184 185 185 186 186 187 187 /* written in C … … 192 192 (dev_draw))) 193 193 194 (defun weapon_icon_ai () 194 (defun weapon_icon_ai () 195 195 (if (eq0 (aistate)) 196 196 (if (activated) … … 200 200 (set_aistate 1)) 201 201 202 (if (touching_bg) 202 (if (touching_bg) 203 203 (progn 204 204 (play_sound AMMO_SND 127 (x) (y)) … … 206 206 (MBULLET_ICON5 (giver 0));; these numbers correspond to status bar position 207 207 (MBULLET_ICON20 (giver 0)) 208 (GRENADE_ICON2 (giver 1)) 208 (GRENADE_ICON2 (giver 1)) 209 209 (GRENADE_ICON10 (giver 1)) 210 210 … … 229 229 T)) 230 230 T) 231 (if (touching_bg) 231 (if (touching_bg) 232 232 (progn 233 233 (play_sound AMMO_SND 127 (x) (y)) … … 235 235 (MBULLET_ICON5 (giver 0));; these numbers correspond to status bar position 236 236 (MBULLET_ICON20 (giver 0)) 237 (GRENADE_ICON2 (giver 1)) 237 (GRENADE_ICON2 (giver 1)) 238 238 (GRENADE_ICON10 (giver 1)) 239 239 … … 259 259 260 260 (defun make_ammo_icon (symbol icon_name increment) 261 (eval (list 'def_char symbol 261 (eval (list 'def_char symbol 262 262 '(funs (ai_fun weapon_icon_ai) 263 263 (get_cache_list_fun ammo_cache) … … 282 282 283 283 284 (defun guner_cons () 284 (defun guner_cons () 285 285 (set_xvel 7) ;; fire speed 286 286 (set_yvel 50) ;; speed of bullet … … 303 303 (progn 304 304 (play_sound BLOWN_UP 127 (x) (y)) 305 (add_object EXPLODE1 (- hitx (random 10)) (- hity (random 25)) 0) 306 (add_object EXPLODE1 (+ hitx (random 10)) (+ hity (random 25)) 1) 307 (add_object EXPLODE1 (- hitx (random 10)) (- hity (random 10)) 2) 305 (add_object EXPLODE1 (- hitx (random 10)) (- hity (random 25)) 0) 306 (add_object EXPLODE1 (+ hitx (random 10)) (+ hity (random 25)) 1) 307 (add_object EXPLODE1 (- hitx (random 10)) (- hity (random 10)) 2) 308 308 (add_object EXPLODE1 (+ hitx (random 10)) (+ hity (random 10)) 3) )))) 309 309 ) … … 313 313 314 314 315 315 316 316 (defun shot_ai () (eq (bmove nil) T)) 317 317 (defun gun_ai () … … 330 330 (progn 331 331 (with_object (add_object VIS_SHOT 332 (+ (x) (* (cos a) 10)) 332 (+ (x) (* (cos a) 10)) 333 333 (- (y) (+ 10 (* (sin a) 10)))) 334 334 (progn … … 346 346 347 347 348 (defun rocket_ai () 348 (defun rocket_ai () 349 349 (if (not (frame_panic)) 350 350 (let ((rand (rand_on))) 351 (with_object (add_object SMALL_LIGHT_CLOUD (+ (x) (random 3)) 351 (with_object (add_object SMALL_LIGHT_CLOUD (+ (x) (random 3)) 352 352 (- (y) (random 3) (/ (picture_height) 2))) 353 353 (set_fade_count 11)) … … 360 360 (- (aistate) angle) 361 361 (+ (aistate) (- 360 angle))))) 362 (let ((closest_dist (if (> clock_dist 180) 362 (let ((closest_dist (if (> clock_dist 180) 363 363 (- 360 clock_dist) 364 364 clock_dist))) … … 377 377 (set_frame_angle 0 359 (aistate)) 378 378 (if (or (eq (hp) 0) 379 (not (eq (bmove (if (> (total_objects) 0) (get_object 0) nil)) T)) 380 (and (> (total_objects) 1) 379 (not (eq (bmove (if (> (total_objects) 0) (get_object 0) nil)) T)) 380 (and (> (total_objects) 1) 381 381 (< (abs (- (with_object (get_object 1) (x)) (x) )) 10) 382 382 (< (abs (- (- (with_object (get_object 1) (y)) (y)) 15 )) 10))) … … 385 385 nil) 386 386 T)) 387 388 389 (defun rocket_ufun (creator) 387 388 389 (defun rocket_ufun (creator) 390 390 (link_object creator) 391 391 (play_sound ROCKET_SND 127 (x) (y)) 392 392 393 (let ((target (with_object creator (find_object_in_area 393 (let ((target (with_object creator (find_object_in_area 394 394 (- (x) 160) (- (y) 160) 395 395 (+ (x) 160) (+ (y) 160) bad_guy_list)))) … … 406 406 (def_char ROCKET 407 407 (funs (ai_fun rocket_ai) 408 (get_cache_list_fun rocket_cache) 408 (get_cache_list_fun rocket_cache) 409 409 (get_cache_list_fun grenade_cache) 410 410 (user_fun rocket_ufun)) … … 423 423 (setq sgb_lasty (y)) 424 424 (setq sgb_speed (/ (* sgb_speed 6) 5)) 425 (set_course sgb_angle sgb_speed) 425 (set_course sgb_angle sgb_speed) 426 426 (if (eq sgb_lifetime 0) 427 427 nil … … 452 452 453 453 454 (defun sgun_ufun (creator) 454 (defun sgun_ufun (creator) 455 455 (set_direction (with_object creator (direction))) 456 456 (set_y (- (y) 4)) … … 466 466 (< (abs (- (y) (with_object target (y)))) 100)) 467 467 (setq sgb_angle (site_angle target)) 468 (if (> (direction) 0) 468 (if (> (direction) 0) 469 469 (setq sgb_angle 0) 470 470 (setq sgb_angle 180))))) … … 474 474 475 475 (def_char SHOTGUN_BULLET 476 (vars sgb_speed sgb_angle sgb_lastx sgb_lasty 476 (vars sgb_speed sgb_angle sgb_lastx sgb_lasty 477 477 sgb_bright_color sgb_medium_color sgb_lifetime) 478 478 (funs (ai_fun sgun_ai)
Note: See TracChangeset
for help on using the changeset viewer.