Ignore:
Timestamp:
May 7, 2011, 5:12:10 PM (11 years ago)
Author:
Sam Hocevar
Message:

data: merge registered data into the main data directory.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • abuse/trunk/data/lisp/weapons.lsp

    r589 r590  
    493493
    494494
    495 (setq load_warn nil)
    496 (if (not (load "register/weapons.lsp"))
    497     (load "lisp/share.lsp"))
    498 (setq load_warn T)
    499 
    500 
    501 
    502 
    503 
    504 
    505 
    506 
    507 
    508 
     495
     496(make_ammo_icon 'PLASMA_ICON20 "plasma_small"     20)
     497(make_ammo_icon 'PLASMA_ICON50 "plasma_large"     50)
     498
     499(make_ammo_icon 'LSABER_ICON50  "lsaber_small"    50)
     500(make_ammo_icon 'LSABER_ICON100 "lsaber_large"   100)
     501
     502(make_ammo_icon 'DFRIS_ICON4  "dfris_small"      4)
     503(make_ammo_icon 'DFRIS_ICON10 "dfris_large"     10)
     504
     505
     506(defun pgun_draw ()
     507  (let ((c (- 255 (* (state_time) 40))))
     508    (scatter_line sgb_lastx sgb_lasty (x) (y) (find_rgb c (/ c 2) c) (state_time))
     509    (scatter_line sgb_lastx sgb_lasty (x) (y) (find_rgb c (/ c 2) c) 0)
     510    ))
     511
     512
     513
     514(defun pgun_ai ()
     515  (select (state_time)
     516          (0 T)
     517          (1 T)
     518          (2 T)
     519          (3 T)
     520          (4 T)
     521          (5 nil)))
     522
     523(def_char PLASMAGUN_BULLET
     524  (vars sgb_angle sgb_lastx sgb_lasty)
     525  (funs (ai_fun   pgun_ai)
     526        (draw_fun pgun_draw))
     527  (range 10000 10000)
     528  (flags (unlistable T)
     529         (add_front T))
     530  (states "art/misc.spe" (stopped  "sgun_bullet")))
     531
     532
     533(defun lsaber_ai ()
     534  (shift_rand_table (random 80))
     535  nil)
     536
     537
     538(defun lsaber_draw ()
     539  (let ((c1 (find_rgb 255 255 255))
     540        (c2 (find_rgb 70 59 67))
     541        (c3 (find_rgb 147 155 195)))
     542
     543
     544    (scatter_line sgb_lastx sgb_lasty (x) (y) c1 0)
     545    (scatter_line sgb_lastx sgb_lasty (x) (y) c3 2)
     546    (ascatter_line sgb_lastx sgb_lasty (x) (y) c1 c2 1)
     547  ))
     548
     549
     550
     551(def_char LSABER_BULLET
     552  (vars sgb_angle sgb_lastx sgb_lasty)
     553  (funs (ai_fun   lsaber_ai)
     554        (draw_fun lsaber_draw))
     555  (range 10000 10000)
     556  (flags (unlistable T)
     557         (add_front T))
     558  (states "art/misc.spe" (stopped  "sgun_bullet")))
     559
     560
     561(defun angle_diff (a1 a2)
     562  (if (< (abs (- a2 a1)) 180)
     563      (- a2 a1)
     564    (if (< a1 a2)
     565        (+ (- a1 a2) 180)
     566      (- (- a1 a2) 180))))
     567
     568
     569(defun get_fris_angle ()
     570  (let ((px (with_object (get_object 0) (player_pointer_x)))
     571        (py (with_object (get_object 0) (player_pointer_y))))
     572    (atan2 (- (y) py 4)
     573           (- px (x)))))
     574
     575(defun dfris_ai ()
     576  (if (and (eq 0 (mod (game_tick) 2)) (not (frame_panic)))
     577      (let ((rand (rand_on)))
     578        (with_object (add_object SMALL_LIGHT_CLOUD (+ (x) (random 3))
     579                                 (- (y) (random 3) (/ (picture_height) 2)))
     580                     (set_fade_count 11))
     581        (set_rand_on rand)))
     582  (set_course (aistate) 12)
     583  (if (or (not (eq (bmove (if (> (total_objects) 0) (get_object 0) nil)) T))
     584          (< (total_objects) 1)
     585          (let ((mex (x))
     586                (mey (y)))
     587            (with_object (get_object 0) (find_object_in_area (- mex 7)
     588                                                             (- mey 7)
     589                                                             (+ mex 7)
     590                                                             (+ mey 7) bad_guy_list))))
     591      (progn
     592        (do_white_explo 40 45)
     593        nil)
     594    (progn
     595      (next_picture)
     596      (if (> (with_object (get_object 0) (total_objects)) 0)
     597          (let ((player_angle (get_fris_angle)))
     598            (let ((angle_change (angle_diff (aistate) player_angle)))
     599              (if (< (abs angle_change) 35)
     600                  (set_aistate (mod (+ (aistate) angle_change 360) 360))
     601                (if (>= angle_change 0)
     602                    (set_aistate (mod (+ (aistate) 35) 360))
     603                  (set_aistate (mod (+ (aistate) 325 ) 360)))))))
     604      T))
     605)
     606
     607
     608
     609(defun dfris_cache (type)
     610  (list (list EXPLODE8 EXP_LIGHT)
     611        (list GRENADE_SND)))
     612
     613(def_char DFRIS_BULLET
     614  (funs (ai_fun   dfris_ai)
     615        (get_cache_list_fun dfris_cache))
     616  (range 10000 10000)
     617  (flags (unlistable T)
     618         (add_front T))
     619  (states "art/misc.spe" (stopped  "dfris_bullet")))
     620
Note: See TracChangeset for help on using the changeset viewer.