/
protos.h
1924 lines (1802 loc) · 101 KB
/
protos.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/* Prototypes */
#include "structs.h"
#include "area.h"
#include "comm.h"
#include "db.h"
#include "handler.h"
#include "hash.h"
#include "heap.h"
#include "interpreter.h"
#include "limits.h"
#include "poly.h"
#include "race.h"
#include "script.h"
#include "spells.h"
#include "trap.h"
#include "utils.h"
#include "vt100c.h"
#include "wizlist.h"
#include "parser.h"
/* From Heap.c */
void SmartStrCpy(char *s1, const char *s2);
void StringHeap(char *string, struct StrHeap *Heap);
struct StrHeap *InitHeap();
void DisplayStringHeap(struct StrHeap *Heap, struct char_data *ch, int type, int d);
/* From Opinion.c */
int FreeHates( struct char_data *ch);
int FreeFears( struct char_data *ch);
int RemHated( struct char_data *ch, struct char_data *pud);
int AddHated( struct char_data *ch, struct char_data *pud);
int AddHatred( struct char_data *ch, int parm_type, int parm);
int RemHatred( struct char_data *ch, unsigned short bitv);
int Hates( struct char_data *ch, struct char_data *v);
int Fears( struct char_data *ch, struct char_data *v);
int RemFeared( struct char_data *ch, struct char_data *pud);
int AddFeared( struct char_data *ch, struct char_data *pud);
int AddFears( struct char_data *ch, int parm_type, int parm);
struct char_data *FindAHatee( struct char_data *ch);
struct char_data *FindAFearee( struct char_data *ch);
void ZeroHatred(struct char_data *ch, struct char_data *v);
void ZeroFeared(struct char_data *ch, struct char_data *v);
void DeleteFears(struct char_data *ch);
void KillTheOrcs(struct char_data *ch);
/* From Sound.c */
int RecGetObjRoom(struct obj_data *obj);
void MakeNoise(int room, char *local_snd, char *distant_snd);
int MakeSound(int pulse);
/* From Trap.c */
void do_settrap( struct char_data *ch, char *arg, int cmd);
int CheckForMoveTrap(struct char_data *ch, int dir);
int CheckForInsideTrap(struct char_data *ch, struct obj_data *i);
int CheckForAnyTrap(struct char_data *ch, struct obj_data *i);
int CheckForGetTrap(struct char_data *ch, struct obj_data *i);
int TriggerTrap( struct char_data *ch, struct obj_data *i);
void FindTrapDamage( struct char_data *v, struct obj_data *i);
void TrapDamage(struct char_data *v, int damtype, int amnt, struct obj_data *t);
void TrapDam(struct char_data *v, int damtype, int amnt, struct obj_data *t);
void TrapTeleport(struct char_data *v);
void TrapSleep(struct char_data *v);
void InformMess( struct char_data *v);
/* From act.comm.c and act.move.c*/
void UpdateScreen(struct char_data *ch, int update);
void InitScreen(struct char_data *ch);
void do_say(struct char_data *ch, char *argument, int cmd);
void do_shout(struct char_data *ch, char *argument, int cmd);
void do_commune(struct char_data *ch, char *argument, int cmd);
void do_tell(struct char_data *ch, char *argument, int cmd);
void do_whisper(struct char_data *ch, char *argument, int cmd);
void do_ask(struct char_data *ch, char *argument, int cmd);
void do_write(struct char_data *ch, char *argument, int cmd);
char *RandomWord();
void do_sign(struct char_data *ch, char *argument, int cmd);
void do_move(struct char_data *ch, char *argument, int cmd);
void do_enter(struct char_data *ch, char *argument, int cmd);
void do_rest(struct char_data *ch, char *argument, int cmd);
void do_stand(struct char_data *ch, char *argument, int cmd);
void do_sit(struct char_data *ch, char *argument, int cmd);
void do_lock(struct char_data *ch, char *argument, int cmd);
void do_unlock(struct char_data *ch, char *argument, int cmd);
void do_pick(struct char_data *ch, char *argument, int cmd);
void do_sleep(struct char_data *ch, char *argument, int cmd);
void do_wake(struct char_data *ch, char *argument, int cmd);
void do_trans(struct char_data *ch, char *argument, int cmd);
void do_follow(struct char_data *ch, char *argument, int cmd);
void do_open(struct char_data *ch, char *argument, int cmd);
void do_close(struct char_data *ch, char *argument, int cmd);
void do_enter(struct char_data *ch, char *argument, int cmd);
void do_leave(struct char_data *ch, char *argument, int cmd);
void bird_garble(char *buf, char *buf2, struct char_data *ch);
void rat_garble(char *buf, char *buf2, struct char_data *ch);
void half_orc_garble(char *buf, char *buf2, struct char_data *ch);
void ogre_garble(char *buf, char *buf2, struct char_data *ch);
void do_fly(struct char_data *ch, char *argument, int cmd);
void do_walk(struct char_data *ch, char *argument, int cmd);
/* From act.info.c */
void do_resize(struct char_data *ch, char *arg, int cmd);
void ScreenOff(struct char_data *ch);
void do_display(struct char_data *ch, char *arg, int cmd);
int singular( struct obj_data *o);
void argument_split_2(char *argument, char *first_arg, char *second_arg);
struct obj_data *get_object_in_equip_vis(struct char_data *ch,
char *arg, struct obj_data *equipment[], int *j);
char *find_ex_description(char *word, struct extra_descr_data *list);
void show_obj_to_char(struct obj_data *object, struct char_data *ch, int mode);
void show_mult_obj_to_char(struct obj_data *o, struct char_data *ch, int m, int n);
void list_obj_in_room(struct obj_data *list, struct char_data *ch);
void list_obj_in_heap(struct obj_data *list, struct char_data *ch);
void list_obj_to_char(struct obj_data *l, struct char_data *ch, int m, bool show);
void show_char_to_char(struct char_data *i, struct char_data *ch, int mode);
void show_mult_char_to_char(struct char_data *i, struct char_data *ch, int m, int n);
void list_char_in_room(struct char_data *list, struct char_data *ch);
void list_char_to_char(struct char_data *list, struct char_data *ch, int mode);
void do_look(struct char_data *ch, char *argument, int cmd);
void do_read(struct char_data *ch, char *argument, int cmd);
void do_examine(struct char_data *ch, char *argument, int cmd);
void do_exits(struct char_data *ch, char *argument, int cmd);
void do_score(struct char_data *ch, char *argument, int cmd);
void do_time(struct char_data *ch, char *argument, int cmd);
void do_weather(struct char_data *ch, char *argument, int cmd);
void do_help(struct char_data *ch, char *argument, int cmd);
void do_wizhelp(struct char_data *ch, char *argument, int cmd);
void do_who(struct char_data *ch, char *argument, int cmd);
void do_users(struct char_data *ch, char *argument, int cmd);
void do_inventory(struct char_data *ch, char *argument, int cmd);
void do_equipment(struct char_data *ch, char *argument, int cmd);
void do_credits(struct char_data *ch, char *argument, int cmd);
void do_news(struct char_data *ch, char *argument, int cmd);
void do_info(struct char_data *ch, char *argument, int cmd);
void do_wizlist(struct char_data *ch, char *argument, int cmd);
int which_number_mobile(struct char_data *ch, struct char_data *mob);
char *numbered_person(struct char_data *ch, struct char_data *person);
void do_where_person(struct char_data *ch, struct char_data *p,
struct string_block *sb);
void do_where_object(struct char_data *ch, struct obj_data *obj,
int recurse, struct string_block *sb);
void do_where(struct char_data *ch, char *argument, int cmd);
void do_levels(struct char_data *ch, char *argument, int cmd);
void do_consider(struct char_data *ch, char *argument, int cmd);
void do_spells(struct char_data *ch, char *argument, int cmd);
void do_world(struct char_data *ch, char *argument, int cmd);
void do_attribute(struct char_data *ch, char *argument, int cmd);
void do_value(struct char_data *ch, char *argument, int cmd);
char *AlignDesc(int a);
char *ArmorDesc(int a);
char *HitRollDesc(int a);
char *DamRollDesc(int a);
char *DescRatio(float f);
char *DescDamage(float dam);
char *DescAttacks(float a);
char *EgoDesc(int a);
void show_exits(struct char_data *ch);
/* From act.obj1.c */
void get(struct char_data *ch, struct obj_data *obj_object,
struct obj_data *sub_object);
void do_get(struct char_data *ch, char *argument, int cmd);
void do_drop(struct char_data *ch, char *argument, int cmd);
void do_put(struct char_data *ch, char *argument, int cmd);
int newstrlen(char *p);
void do_give(struct char_data *ch, char *argument, int cmd);
/* From act.obj2.c */
void weight_change_object(struct obj_data *obj, int weight);
void name_from_drinkcon(struct obj_data *obj);
void name_to_drinkcon(struct obj_data *obj,int type);
void do_drink(struct char_data *ch, char *argument, int cmd);
void do_eat(struct char_data *ch, char *argument, int cmd);
void do_pour(struct char_data *ch, char *argument, int cmd);
void do_sip(struct char_data *ch, char *argument, int cmd);
void do_taste(struct char_data *ch, char *argument, int cmd);
int perform_wear(struct char_data *ch, struct obj_data *obj_object, int keyword);
int IsRestricted(int Mask, int Class);
void wear(struct char_data *ch, struct obj_data *obj_object, int keyword);
void do_wear(struct char_data *ch, char *argument, int cmd);
void do_wield(struct char_data *ch, char *argument, int cmd);
void do_grab(struct char_data *ch, char *argument, int cmd);
void do_remove(struct char_data *ch, char *argument, int cmd);
/* From act.off.c */
void do_hit(struct char_data *ch, char *argument, int cmd);
void do_kill(struct char_data *ch, char *argument, int cmd);
void do_backstab(struct char_data *ch, char *argument, int cmd);
void do_order(struct char_data *ch, char *argument, int cmd);
void do_flee(struct char_data *ch, char *argument, int cmd);
void do_bash(struct char_data *ch, char *argument, int cmd);
void do_rescue(struct char_data *ch, char *argument, int cmd);
void do_assist(struct char_data *ch, char *argument, int cmd);
void do_kick(struct char_data *ch, char *argument, int cmd);
void do_wimp(struct char_data *ch, char *argument, int cmd);
void do_breath(struct char_data *ch, char *argument, int cmd);
void do_shoot(struct char_data *ch, char *argument, int cmd);
void do_springleap(struct char_data *ch, char *argument, int cmd);
void do_quivering_palm( struct char_data *ch, char *arg, int cmd);
void kick_messages(struct char_data *ch, struct char_data *victim, int damage);
/* From act.other.c */
void do_gain(struct char_data *ch, char *argument, int cmd);
void do_guard(struct char_data *ch, char *argument, int cmd);
void do_junk(struct char_data *ch, char *argument, int cmd);
void do_qui(struct char_data *ch, char *argument, int cmd);
void do_title(struct char_data *ch, char *argument, int cmd);
void do_quit(struct char_data *ch, char *argument, int cmd);
void do_save(struct char_data *ch, char *argument, int cmd);
void do_not_here(struct char_data *ch, char *argument, int cmd);
void do_sneak(struct char_data *ch, char *argument, int cmd);
void do_hide(struct char_data *ch, char *argument, int cmd);
void do_steal(struct char_data *ch, char *argument, int cmd);
void do_practice(struct char_data *ch, char *arg, int cmd);
void do_idea(struct char_data *ch, char *argument, int cmd);
void do_typo(struct char_data *ch, char *argument, int cmd);
void do_bug(struct char_data *ch, char *argument, int cmd);
void do_brief(struct char_data *ch, char *argument, int cmd);
void do_compact(struct char_data *ch, char *argument, int cmd);
void do_group(struct char_data *ch, char *argument, int cmd);
void do_quaff(struct char_data *ch, char *argument, int cmd);
void do_recite(struct char_data *ch, char *argument, int cmd);
void do_use(struct char_data *ch, char *argument, int cmd);
void do_plr_noshout(struct char_data *ch, char *argument, int cmd);
void do_alias(struct char_data *ch, char *arg, int cmd);
int Dismount(struct char_data *ch, struct char_data *h, int pos);
void do_mount(struct char_data *ch, char *arg, int cmd);
void do_donate(struct char_data *ch, char *argument, int cmd);
void do_auto(struct char_data *ch, char *argument, int cmd);
void do_gname(struct char_data *ch, char *argument, int cmd);
void do_show_exits( struct char_data *ch, char *arg, int cmd);
void do_split( struct char_data *ch, char *arg, int cmd);
void do_report( struct char_data *ch, char *arg, int cmd);
void do_prompt(struct char_data *ch, char *argument, int cmd);
/* From act.social.c */
char *fread_action(FILE *fl);
void boot_social_messages();
int find_action(int cmd);
void do_action(struct char_data *ch, char *argument, int cmd);
void do_insult(struct char_data *ch, char *argument, int cmd);
void boot_pose_messages();
void do_pose(struct char_data *ch, char *argument, int cmd);
/* From act.wizard.c */
void do_auth(struct char_data *ch, char *argument, int cmd);
void do_imptest(struct char_data *ch, char *arg, int cmd);
void do_passwd(struct char_data *ch, char *argument, int cmdnum);
void do_setsev(struct char_data *ch, char *arg, int cmd);
void dsearch(char *string, char *tmp);
void do_bamfin(struct char_data *ch, char *arg, int cmd);
void do_bamfout(struct char_data *ch, char *arg, int cmd);
void do_instazone(struct char_data *ch, char *argument, int cmdnum);
void do_highfive(struct char_data *ch, char *argument, int cmd);
void do_addhost(struct char_data *ch, char *argument, int command);
void do_removehost(struct char_data *ch, char *argument, int command);
void do_listhosts(struct char_data *ch, char *argument, int command);
void do_silence(struct char_data *ch, char *argument, int cmd);
void do_wizlock(struct char_data *ch, char *argument, int cmd);
void do_rload(struct char_data *ch, char *argument, int cmd);
void do_rsave(struct char_data *ch, char *argument, int cmd);
void do_emote(struct char_data *ch, char *argument, int cmd);
void do_echo(struct char_data *ch, char *argument, int cmd);
void do_system(struct char_data *ch, char *argument, int cmd);
void do_trans(struct char_data *ch, char *argument, int cmd);
void do_at(struct char_data *ch, char *argument, int cmd);
void do_goto(struct char_data *ch, char *argument, int cmd);
void do_stat(struct char_data *ch, char *argument, int cmd);
void do_set(struct char_data *ch, char *argument, int cmd);
void do_shutdow(struct char_data *ch, char *argument, int cmd);
void do_shutdown(struct char_data *ch, char *argument, int cmd);
void do_snoop(struct char_data *ch, char *argument, int cmd);
void do_switch(struct char_data *ch, char *argument, int cmd);
void do_return(struct char_data *ch, char *argument, int cmd);
void do_force(struct char_data *ch, char *argument, int cmd);
void do_load(struct char_data *ch, char *argument, int cmd);
void purge_one_room(int rnum, struct room_data *rp, int *range);
void do_purge(struct char_data *ch, char *argument, int cmd);
void roll_abilities(struct char_data *ch);
void do_start(struct char_data *ch);
void do_advance(struct char_data *ch, char *argument, int cmd);
void do_reroll(struct char_data *ch, char *argument, int cmd);
void do_restore(struct char_data *ch, char *argument, int cmd);
void do_noshout(struct char_data *ch, char *argument, int cmd);
void do_nohassle(struct char_data *ch, char *argument, int cmd);
void do_stealth(struct char_data *ch, char *argument, int cmd);
void print_room(int rnum, struct room_data *rp, struct string_block *sb);
void print_death_room(int rnum, struct room_data *rp, struct string_block *sb);
void print_private_room(int r, struct room_data *rp, struct string_block *sb);
void do_show(struct char_data *ch, char *argument, int cmd);
void do_debug(struct char_data *ch, char *argument, int cmd);
void do_invis(struct char_data *ch, char *argument, int cmd);
void do_create( struct char_data *ch, char *argument, int cmd);
void CreateOneRoom( int loc_nr);
void do_set_log(struct char_data *ch, char *arg, int cmd);
void do_event(struct char_data *ch, char *arg, int cmd);
void do_beep(struct char_data *ch, char *argument, int cmd);
/* From board.c */
void board_write_msg(struct char_data *ch, char *arg, int bnum);
int board_display_msg(struct char_data *ch, char *arg, int bnum);
int board_remove_msg(struct char_data *ch, char *arg, int bnum);
void board_save_board();
void board_load_board();
int board_show_board(struct char_data *ch, char *arg, int bnum);
int fwrite_string(char *buf, FILE *fl);
int board(struct char_data *ch, int cmd, char *arg, struct obj_data *obj, int type);
char *fix_returns(char *text_string);
int board_check_locks (int bnum, struct char_data *ch);
/* From comm.c */
int __main ();
int close_socket_fd( int desc);
int main (int argc, char **argv);
int run_the_game(int port);
int game_loop(int s);
int get_from_q(struct txt_q *queue, char *dest);
void write_to_q(char *txt, struct txt_q *queue);
struct timeval timediff(struct timeval *a, struct timeval *b);
void flush_queues(struct descriptor_data *d);
int init_socket(int port);
int new_connection(int s);
int new_descriptor(int s);
int process_output(struct descriptor_data *t);
int write_to_descriptor(int desc, char *txt);
int process_input(struct descriptor_data *t);
void close_sockets(int s);
void close_socket(struct descriptor_data *d);
void nonblock(int s);
void coma(int s);
void send_to_char(char *messg, struct char_data *ch);
void save_all();
void send_to_all(char *messg);
void send_to_outdoor(char *messg);
void send_to_desert(char *messg);
void send_to_out_other(char *messg);
void send_to_arctic(char *messg);
void send_to_except(char *messg, struct char_data *ch);
void send_to_zone(char *messg, struct char_data *ch);
void send_to_room(char *messg, int room);
void send_to_room_except(char *messg, int room, struct char_data *ch);
void send_to_room_except_two
(char *messg, int room, struct char_data *ch1, struct char_data *ch2);
void act(char *str, int hide_invisible, struct char_data *ch,
struct obj_data *obj, void *vict_obj, int type);
int raw_force_all( char *to_force);
/* From constants.c */
/* From db.c */
void SaveTheWorld();
void boot_db();
void reset_time();
void update_time();
void build_player_index();
struct index_data *generate_indices(FILE *fl, int *top);
void cleanout_room(struct room_data *rp);
void completely_cleanout_room(struct room_data *rp);
void load_one_room(FILE *fl, struct room_data *rp);
void boot_world();
void allocate_room(int room_number);
void setup_dir(FILE *fl, int room, int dir);
void renum_zone_table();
void boot_zones();
struct char_data *read_mobile(int nr, int type);
struct obj_data *read_object(int nr, int type);
void zone_update();
void reset_zone(int zone);
int is_empty(int zone_nr);
int load_char(char *name, struct char_file_u *char_element);
void store_to_char(struct char_file_u *st, struct char_data *ch);
void char_to_store(struct char_data *ch, struct char_file_u *st);
int create_entry(char *name);
void save_char(struct char_data *ch, sh_int load_room);
int compare(struct player_index_element *arg1, struct player_index_element
*arg2);
char *fread_string(FILE *fl);
void free_char(struct char_data *ch);
void free_obj(struct obj_data *obj);
int file_to_string(char *name, char *buf);
void ClearDeadBit(struct char_data *ch);
void clean_playerfile();
void reset_char(struct char_data *ch);
void clear_char(struct char_data *ch);
void clear_object(struct obj_data *obj);
void init_char(struct char_data *ch);
struct room_data *real_roomp(int virtual);
int real_mobile(int virtual);
int real_object(int virtual);
int ObjRoomCount(int nr, struct room_data *rp);
int str_len(char *buf);
int load();
void gr();
int workhours();
void reboot_text(struct char_data *ch, char *arg, int cmd);
void InitScripts();
void ReloadRooms();
void FreeZone(int zone_nr);
void BootFigurines();
/* char *strmake(char *string); KEEP THIS OUT UNTIL FIXED */
/* void strfree(char *string); KEEP THIS OUT UNTIL FIXED */
/* From fight.c */
void appear(struct char_data *ch);
int LevelMod(struct char_data *ch, struct char_data *v, int exp);
int RatioExp( struct char_data *ch, struct char_data *victim, int total);
void load_messages();
void update_pos( struct char_data *victim );
int check_peaceful(struct char_data *ch, char *msg);
void set_fighting(struct char_data *ch, struct char_data *vict);
void stop_fighting(struct char_data *ch);
void make_corpse(struct char_data *ch);
void change_alignment(struct char_data *ch, struct char_data *victim);
void death_cry(struct char_data *ch);
void raw_kill(struct char_data *ch);
void die(struct char_data *ch);
void group_gain(struct char_data *ch, struct char_data *victim);
char *replace_string(char *str, char *weapon, char *weapon_s);
void dam_message(int dam, struct char_data *ch, struct char_data *victim,
int w_type);
int DamCheckDeny(struct char_data *ch, struct char_data *victim, int type);
int DamDetailsOk( struct char_data *ch, struct char_data *v, int dam, int type);
int SetCharFighting(struct char_data *ch, struct char_data *v);
int SetVictFighting(struct char_data *ch, struct char_data *v);
int DamageTrivia(struct char_data *ch, struct char_data *v, int dam, int type);
int DoDamage(struct char_data *ch, struct char_data *v, int dam, int type);
int DamageMessages( struct char_data *ch, struct char_data *v, int dam,
int attacktype);
int DamageEpilog(struct char_data *ch, struct char_data *victim);
int MissileDamage(struct char_data *ch, struct char_data *victim,
int dam, int attacktype);
int damage(struct char_data *ch, struct char_data *victim,
int dam, int attacktype);
int GetWeaponType(struct char_data *ch, struct obj_data **wielded);
int Getw_type(struct obj_data *wielded);
int HitCheckDeny(struct char_data *ch, struct char_data *victim, int type);
int CalcThaco(struct char_data *ch);
int HitOrMiss(struct char_data *ch, struct char_data *victim, int calc_thaco);
int MissVictim(struct char_data *ch, struct char_data *v, int type, int w_type,
int (*dam_func)());
int GetWeaponDam(struct char_data *ch, struct char_data *v,
struct obj_data *wielded);
int GetBackstabMult(struct char_data *ch, struct char_data *v);
int HitVictim(struct char_data *ch, struct char_data *v, int dam,
int type, int w_type, int (*dam_func)());
void root_hit(struct char_data *ch, struct char_data *victim, int type,
int (*dam_func)());
void MissileHit(struct char_data *ch, struct char_data *victim, int type);
void hit(struct char_data *ch, struct char_data *victim, int type);
void perform_violence(int pulse);
struct char_data *FindVictim( struct char_data *ch);
struct char_data *FindAnyVictim( struct char_data *ch);
int BreakLifeSaverObj( struct char_data *ch);
int BrittleCheck(struct char_data *ch, int dam);
int PreProcDam(struct char_data *ch, int type, int dam);
int DamageOneItem( struct char_data *ch, int dam_type, struct obj_data *obj);
void MakeScrap( struct char_data *ch, struct obj_data *obj);
void DamageAllStuff( struct char_data *ch, int dam_type);
int DamageItem(struct char_data *ch, struct obj_data *o, int num);
int ItemSave( struct obj_data *i, int dam_type);
int DamagedByAttack( struct obj_data *i, int dam_type);
int WeaponCheck(struct char_data *ch, struct char_data *v, int type, int dam);
int DamageStuff(struct char_data *v, int type, int dam);
int GetItemDamageType( int type);
int SkipImmortals(struct char_data *v, int amnt);
int WeaponSpell( struct char_data *c, struct char_data *v, int type);
struct char_data *FindAnAttacker(struct char_data *ch);
void shoot( struct char_data *ch, struct char_data *victim);
struct char_data *FindMetaVictim( struct char_data *ch);
void NailThisSucker( struct char_data *ch);
int GetFormType(struct char_data *ch);
int MonkDodge( struct char_data *ch, struct char_data *v, int *dam);
int GetMonkw_type(struct char_data *ch);
int AreaDamage(struct char_data *ch, int dam, int attacktype,
char *same_room_hitmsg, char *same_room_missmsg,
char *global_msg, bool save_negates, bool heat_blind);
/* From handler.c */
char *fname(char *namelist);
int split_string(char *str, char *sep, char **argv);
int isname(const char *str, const char *namelist);
void init_string_block(struct string_block *sb);
void append_to_string_block(struct string_block *sb, char *str);
void page_string_block(struct string_block *sb, struct char_data *ch);
void destroy_string_block(struct string_block *sb);
void affect_modify(struct char_data *ch,byte loc, long mod, long bitv,bool add);
void affect_total(struct char_data *ch);
void affect_to_char( struct char_data *ch, struct affected_type *af );
void affect_remove( struct char_data *ch, struct affected_type *af );
void affect_from_char( struct char_data *ch, short skill);
bool affected_by_spell( struct char_data *ch, short skill );
void affect_join( struct char_data *ch, struct affected_type *af,
bool avg_dur, bool avg_mod );
void char_from_room(struct char_data *ch);
void char_to_room(struct char_data *ch, int room);
void obj_to_char(struct obj_data *object, struct char_data *ch);
void obj_from_char(struct obj_data *object);
int apply_ac(struct char_data *ch, int eq_pos);
void equip_char(struct char_data *ch, struct obj_data *obj, int pos);
int GiveMinStrToWield(struct obj_data *obj, struct char_data *ch);
struct obj_data *unequip_char(struct char_data *ch, int pos);
int get_number(char **name);
struct obj_data *get_obj_in_list(char *name, struct obj_data *list);
struct obj_data *get_obj_in_list_num(int num, struct obj_data *list);
struct obj_data *get_obj(char *name);
struct obj_data *get_obj_num(int nr);
struct char_data *get_char_room(char *name, int room);
struct char_data *get_char(char *name);
struct char_data *get_char_num(int nr);
void obj_to_room(struct obj_data *object, int room);
void obj_to_room2(struct obj_data *object, int room);
void obj_from_room(struct obj_data *object);
void obj_to_obj(struct obj_data *obj, struct obj_data *obj_to);
void obj_from_obj(struct obj_data *obj);
void object_list_new_owner(struct obj_data *list, struct char_data *ch);
void extract_obj(struct obj_data *obj);
void update_object( struct obj_data *obj, int use);
void update_char_objects( struct char_data *ch );
void extract_char(struct char_data *ch);
void extract_char_smarter(struct char_data *ch, int save_room);
struct char_data *get_char_room_vis(struct char_data *ch, char *name);
struct char_data *get_char_vis_world(struct char_data *ch, char *name,
int *count);
struct char_data *get_char_vis(struct char_data *ch, char *name);
struct obj_data *get_obj_in_list_vis(struct char_data *ch, char *name,
struct obj_data *list);
struct obj_data *get_obj_vis_world(struct char_data *ch, char *name,
int *count);
struct obj_data *get_obj_vis(struct char_data *ch, char *name);
struct obj_data *get_obj_vis_accessible(struct char_data *ch, char *name);
struct obj_data *create_money( int amount );
int generic_find(char *arg, int bitvector, struct char_data *ch,
struct char_data **tar_ch, struct obj_data **tar_obj);
void AddAffects( struct char_data *ch, struct obj_data *o);
/* From hash.c */
void init_hash_table(struct hash_header *ht, int rec_size, int table_size);
void init_world(struct room_data *room_db[]);
void destroy_hash_table(struct hash_header *ht, void (*gman)());
void _hash_enter(struct hash_header *ht, int key, void *data);
struct room_data *room_find( struct room_data *room_db[], int key);
void *hash_find(struct hash_header *ht, int key);
int room_enter(struct room_data *rb[], int key, struct room_data *rm);
int hash_enter(struct hash_header *ht, int key, void *data);
struct room_data *room_find_or_create(struct room_data *rb[], int key);
void *hash_find_or_create(struct hash_header *ht, int key);
int room_remove(struct room_data *rb[], int key);
void *hash_remove(struct hash_header *ht, int key);
void room_iterate(struct room_data *rb[], void (*func)(), void *cdata);
void hash_iterate(struct hash_header *ht, void (*func)(), void *cdata);
/* From interpreter.c */
void commando(int number, int min_pos, void (*pointer)(), int min_level);
int search_block(char *arg, char **list, bool exact);
int old_search_block(char *argument,int begin,int length,char **list,int mode);
void command_interpreter(struct char_data *ch, char *argument);
void argument_interpreter(char *argument,char *first_arg,char *second_arg );
int is_number(char *str);
char *one_argument(char *argument, char *first_arg );
void only_argument(char *argument, char *dest);
int fill_word(char *argument);
int is_abbrev(char *arg1, char *arg2);
void half_chop(char *string, char *arg1, char *arg2);
int special(struct char_data *ch, int cmd, char *arg);
void assign_command_pointers ();
int find_name(char *name);
int _parse_name(char *arg, char *name);
void nanny(struct descriptor_data *d, char *arg);
void DisplayRaces(struct descriptor_data *d);
int get_racial_alignment(struct descriptor_data *d);
int CheckValidClass(struct descriptor_data *d, int class);
void DisplayRaceClasses(struct descriptor_data *d);
#if 0
int command_search( char *arg, int len, struct command_info *cmd_info,
char **list);
#endif
/* From limits.c */
char *ClassTitles(struct char_data *ch);
int graf(int age, int p0, int p1, int p2, int p3, int p4, int p5, int p6);
int mana_limit(struct char_data *ch);
int hit_limit(struct char_data *ch);
int move_limit(struct char_data *ch);
int mana_gain(struct char_data *ch);
int hit_gain(struct char_data *ch);
int move_gain(struct char_data *ch);
void advance_level(struct char_data *ch, int class);
void drop_level(struct char_data *ch, int class);
void set_title(struct char_data *ch);
void gain_exp(struct char_data *ch, int gain);
void gain_exp_regardless(struct char_data *ch, int gain, int class);
void gain_condition(struct char_data *ch,int condition,int value);
void check_idling(struct char_data *ch);
int ObjFromCorpse( struct obj_data *c);
int ClassSpecificStuff( struct char_data *ch);
/* From magic.c */
void heat_blind(struct char_data *ch);
void spell_magic_missile(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_chill_touch(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_burning_hands(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_shocking_grasp(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_lightning_bolt(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_colour_spray(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_energy_drain(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_fireball(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_earthquake(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_dispel_evil(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_call_lightning(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_harm(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_armor(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_astral_walk(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_teleport(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_bless(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_blindness(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_clone(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_control_weather(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_create_food(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_create_water(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_cure_blind(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_cure_critic(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_cure_light(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_curse(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_detect_evil(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_detect_invisibility(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_detect_magic(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_detect_poison(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_enchant_weapon(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_enchant_armor(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_heal(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_invisibility(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_locate_object(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_poison(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_protection_from_evil(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_remove_curse(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_remove_poison(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_fireshield(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_sanctuary(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_sleep(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_strength(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_ventriloquate(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_word_of_recall(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_summon(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void RawSummon( struct char_data *v, struct char_data *c);
void spell_charm_person(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_charm_monster(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_sense_life(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_identify(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_fire_breath(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_frost_breath(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_acid_breath(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_gas_breath(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_lightning_breath(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
/* Fom magic2.c */
void spell_resurrection(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_cause_light(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_cause_critical(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_cause_serious(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_cure_serious(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_mana(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_second_wind(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_flamestrike(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_dispel_good(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_turn(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_remove_paralysis(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_holy_word(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void holy_banish(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void holy_destroy(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void holy_bigdif(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void holy_meddif(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void holy_smldif(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_succor(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_detect_charm(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_true_seeing(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_track(byte level, struct char_data *ch,
struct char_data *targ, struct obj_data *obj);
void spell_poly_self(byte level, struct char_data *ch,
struct char_data *mob, struct obj_data *obj);
void spell_minor_create(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_stone_skin(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_infravision(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_shield(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_weakness(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_invis_group(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_acid_blast(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_cone_of_cold(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_ice_storm(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_poison_cloud(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_major_create(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_sending(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_meteor_swarm(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_Create_Monster(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_light(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_fly(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_fly_group(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_refresh(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_water_breath(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_cont_light(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_animate_dead(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *corpse);
void spell_know_alignment(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_dispel_magic(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_paralyze(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_fear(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_calm(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_web(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_heroes_feast(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_conjure_elemental(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_faerie_fire (byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_faerie_fog (byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_cacaodemon(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_improved_identify(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_geyser(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_green_slime(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
/* From magic3.c */
void spell_tree_travel(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_transport_via_plant(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_speak_with_plants(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_changestaff(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_pword_kill(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_pword_blind(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_chain_lightn(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_scare(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_haste(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_slow(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_familiar(byte level, struct char_data *ch,
struct char_data **victim, struct obj_data *obj);
void spell_aid(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_golem(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_feeblemind(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_shillelagh(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_goodberry(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_flame_blade(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_animal_growth(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_insect_growth(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_creeping_death(byte level, struct char_data *ch,
struct char_data *victim, int dir);
void spell_commune(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_animal_summon(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_elemental_summoning(byte level, struct char_data *ch,
struct char_data *victim, int spell);
void spell_reincarnate(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_charm_veggie(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_veggie_growth(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_tree(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_animate_rock(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_travelling(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_animal_friendship(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_invis_to_animals(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_slow_poison(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_snare(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_entangle(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_barkskin(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_gust_of_wind(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_silence(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_warp_weapon(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_heat_stuff(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_dust_devil(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_sunray(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_know_monster(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_find_traps(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_firestorm(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_teleport_wo_error(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_portal(byte level, struct char_data *ch,
struct char_data *tmp_ch, struct obj_data *obj);
void spell_mount(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_dragon_ride(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_thorn_spray(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_resist_hold(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_resist_electricity(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_resist_cold(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_resist_drain(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_resist_poison(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_resist_acid(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_resist_fire(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_resist_energy(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_resist_pierce(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_resist_slash(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
void spell_resist_blunt(byte level, struct char_data *ch,
struct char_data *victim, struct obj_data *obj);
/* From magicutils.c */
int SwitchStuff( struct char_data *giver, struct char_data *taker);
int FailCharm(struct char_data *victim, struct char_data *ch);
int FailSnare(struct char_data *victim, struct char_data *ch);
int FailSleep(struct char_data *victim, struct char_data *ch);
int FailPara(struct char_data *victim, struct char_data *ch);
int FailCalm(struct char_data *victim, struct char_data *ch);
int ItemMagicFailure(struct char_data *ch, int skill_number);
/* From mobact.c */