Skip to content
Snippets Groups Projects
Commit 2543b3eb authored by deuce's avatar deuce
Browse files

Initial import of Smurf Combat.

parent d7bbbdb6
No related branches found
No related tags found
No related merge requests found
Showing
with 2571 additions and 0 deletions
NEED_DATEWRAP := 1
MAKE += NEED_DATEWRAP=1
ifdef FIXME
CFLAGS += -Wshadow -Wconversion -Wredundant-decls
endif
SRC_ROOT := ../..
include ${SRC_ROOT}/build/Common.gmake
CFLAGS += $(CIOLIB-MT_CFLAGS) $(XPDEV-MT_CFLAGS)
LDFLAGS += $(CIOLIB-MT_LDFLAGS) $(XPDEV-MT_LDFLAGS)
CFLAGS += -I$(SRC_ROOT)/odoors -I$(SRC_ROOT)/conio -I.
LDFLAGS += -L$(SRC_ROOT)/odoors
$(SMURF): $(EXEODIR) $(OBJS) $(BUILD_DEPENDS)
@echo Linking $@
${QUIET}$(CC) $(LDFLAGS) $(MT_LDFLAGS) $(OBJS) -o $@ $(CIOLIB-MT_LIBS) $(XPDEV-MT_LIBS) -lODoors
NEED_DATEWARP=1
MAKEFLAGS = $(MAKEFLAGS) -DNEED_DATEWRAP=1
SRC_ROOT = ..\..
!include ${SRC_ROOT}\build\Common.bmake
CFLAGS = -ff- $(CFLAGS) $(CIOLIB-MT_CFLAGS) $(XPDEV-MT_CFLAGS)
LDFLAGS = -ff- $(LDFLAGS) -tW $(CIOLIB-MT_LDFLAGS) $(XPDEV-MT_LDFLAGS)
CFLAGS = $(CFLAGS) -I$(SRC_ROOT)/odoors
LDFLAGS = $(LDFLAGS) -L$(SRC_ROOT)/odoors
$(SMURF): $(OBJS)
@echo Linking $@
${QUIET}$(CC) $(LDFLAGS) $(MT_LDFLAGS) -e$@ $(OBJS) $(CIOLIB-MT_LIBS) $(XPDEV-MT_LIBS) ODoors.lib
#include <dirwrap.h>
int mdel(char *glob)
{
int count=0;
char this[MAX_PATH+1];
strcpy(this,glob);
while(fexistcase(this)) {
if(unlink(this)==-1)
return(count);
count++;
strcpy(this,glob);
}
return(count);
}
#ifndef _INC_MDEL_H_
#define _INC_MDEL_H_
#if defined(__cplusplus)
extern "C" {
#endif
int mdel(char *pattern);
#if defined(__cplusplus)
}
#endif
#endif
OBJS = \
$(MTOBJODIR)$(DIRSEP)mdel$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurf$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfarn$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfblk$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfcxx$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfdxx$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfetc$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfgen$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfhst$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfini$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfins$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfmnt$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfmod$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfmss$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfnxx$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfreg$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfrnz$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfset$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfsrv$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfuar$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfwin$(OFILE)
EXTRAOBJS = \
$(MTOBJODIR)$(DIRSEP)regsmurf$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfcnv$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfday$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfnew$(OFILE) \
$(MTOBJODIR)$(DIRSEP)smurfkey$(OFILE) \
----------------------------------------------------------------------------
SYNCHRONET UPDATE: If you have been using CHAIN.TXT, change your Drop File
to DOOR.SYS. This error which originates in SYCNHRONET causes the program
to think you're calling in remotely, and thus drops the sysop when he/she
tries to logon.
----------------------------------------------------------------------------
NOTICE! Smurf Combat requires a fossil driver to operate, as noted by the
correct bath file example shown below. Included in this version or
upgrade of Smurf Combat is the fossil driver BNUxxxxxx.ZIP This must
either be installed as a device driver or run in the batch file as
shown below or else your system may crash or simply not work.
----------------------------------------------------------------------------
>> Synchronet SHOULD NOT use the following BATCH file example
SAMPLE.BAT <--- Sample batch file to run Smurf Combat via WWiV
cd\bbs\smurf [Goto Smurf Combat Dir]
copy \bbs\chain.txt [Copy User Information File]
bnu [Fossil Driver Required]
***OR*** [Fossil Driver Required]
x00 [Fossil Driver Required]
smurf [Execute Program]
cd\bbs [Return to System]
^Z [Control + Z, Release, Enter]
>> This batch file is created in the 'BBS Main Directory' specified by
running 'C:\> SMURF SETUP' and is saved as SMURF.BAT
----------------------------------------------------------------------------
>> Synchronet Setup
Name Smurf Combat 1.5
Startup Dir C:\BBS\SMURF (your choice - Dir w/ SMURF.EXE)
Command Line (Normal) SMURF (Run Executive ONLY)
NOTE: Insure that you have a fossil drive already installed, or to
install one, simply edit you autoexec.bat to run 'BNU'. A copy
of 'BNU' is included and should be in this TAZ directory.
SYNCHRONET: Synchronet functions best with X00.SYS installed as a
device in your CONFIG.SYS with LOCKED BAUD RATES.
Clean-Up [None]
ANSI Req No
Multiuser No
I/O No
Shrink Yes
Modify No
WWiV Color Codes No
BBS Drop File GAP - DOOR.SYS (Synchronet MUST use DOOR.SYS)
Place Drop File Start-up Directory
----------------------------------------------------------------------------
Registration is $9 + $3 S&H and can be sent to:
Laurence Maar (909)861-1616 or (818)792-9988
1415 Valeview Drive
Diamond Bar, CA 91765 USA (Etats-Unis)
Please PRINT the file ORDER.FRM or SMURF.ORD by typing:
C:\BBS\SMURF> copy order.frm prn
from the DOS prompt...
-- Laurence Maar
----------------------------------------------------------------------------
NOTE: If the above file just scrolled by your screen, type:
C:\BBS\SMURF\> type README.DOC | more
to pause in between screen-fulls...
#include <stdio.h>
#include <ciolib.h>
#ifdef TODO_HEADERS
#include <dos.h>
#endif
int c_break(void){
return (1);
}
void
main(void)
{
int x = 0;
char stringz[2];
directvideo = 0;
#ifdef TODO_DOSWRAP
ctrlbrk(c_break);
#endif
textcolor(15);
cprintf("\n\rSmurf crack courtesy of [JuSTice]\n\r");
textcolor(7);
cprintf("Enter name to register under: ");
do {
gets(stringz);
} while (x == 0);
}
This diff is collapsed.
*** SALE *** SALE *** SALE *** SALE *** SALE *** SALE *** SALE *** SALE ***
Any checks or money orders MUST be addressed to 'CASH' or 'Laurence Maar'
NOW! FOR A LIMITED TIME ONLY!!!
FIFTY PERCENT (50%) OFF TASMANIAN STRATEGIAL!!!
OUR PRICES HAVE BEEN SLASHED FROM AN UNAFFORDABLE NINETEEN
DOLLARS ($19) TO MERELY NINE DOLLARS ($9)!!!
ALL YOU HAVE TO DO IS PURCHASE SMURF COMBAT (ALSO AN ONLINER)
FOR THE FULL PRICE OF $9, TOTALLING $18 AND WE'LL WAIVE THE
S&H ON SMURF COMBAT! TOTALLING $18 + S&H + Options!
SEE LOWER PORTION OF TAZ.DOC FOR MORE DETAILS.
PRINT TAZ.ORD or ORDER.FRM FOR OFFICIAL ORDER FORM.
YOU SAVE: $13!!!!!
Any checks or money orders MUST be addressed to 'CASH' or 'Laurence Maar'
*** SALE *** SALE *** SALE *** SALE *** SALE *** SALE *** SALE *** SALE ***
o o
o o
o -----===[ Smurf Combat ]===----- o
o Version 1.xx o
o o
o o
o "Boyz will be boyz, but this game isn't child's play...." o
o o
o o
o INSTALLATION o
o ============ o
o How about we skip the junk for once, and lets be reasonable. There's o
o only one reason you're reading this manual... o
o o
o Make a directory somewhere, anywhere, your choice, but preferably a dir o
o within your bbs directory... o
o o
o C:\BBS\> md smurf o
o C:\BBS\> cd smurf o
o C:\BBS\SMURF\> o
o o
o Now from there you unzip (or copy) these files into the new directory... o
o o
o C:\BBS\SMURF\> copy c:\dloads\temp\*.* o
o OR C:\BBS\SMURF\> pkunzip c:\dloads\smurfxxx o
o o
o Now, from the DOS prompt type in the following to create a proper batch o
o file in order to run the program: o
o o
o C:\BBS\SMURF\> smurf setup o
o o
o Now, enter in the appropriate directories requested, and the setup will o
o create a batch file called SMURF.BAT within the specified bbs directory. o
o o
o Now, go into your onliners edit program or what not and simply add in o
o the name Smurf Combat (Play me, SECURITY INCREASE **everytime**) <heh> o
o and put the file name or chain file to run as "SMURF", without quotes, o
o of course. If possible, SHRINK the BBS to run!! And also, do NOT use DOS o
o interupts (the selection). o
o o
o Now all you have to do is save and run... o
o o
o Smurf Combat supports: CHAIN.TXT, DOOR.SYS, DORINFOx.DEF, SFDOORS.DAT, o
o CALLINFO.BBS, EXITINFO.BBS. o
o o
o o
o STARTING A NEW GAME (REROLL) o
o ============================ o
o Because i'm running outta time here, i'm NOT GOING TO TELL YOU HOW TO o
o REROLL!!!! ehehehhehehe... j/k. o
o o
o To reroll from DOS, simply type the following: o
o o
o C:\BBS\SMURF\> smurf reset o
o o
o OR, login to your bbs, run the game, then from the Mainmenu prompt, type o
o !SYSOP! o
o o
o The program will act like it dosn't know what the hell you are talking o
o about, but don't be distracted by the repeating "what did he say?" o
o message, you will instantly be warped to the Sysop Menu, you figure the o
o the rest out... o
o o
o o
o REROLLING AFTER A WIN o
o ===================== o
o The automatic reroll mechanism will automatically reroll if run any time o
o during or after the month following the time the game was won. However, o
o you can do an 'instant' reroll by typing 'SMURF RESET' o
o o
o o
o REGISTERING o
o =========== o
o Now lets face it, you gotta respond to the endless cries 'REGISTER!!' o
o eventually.... After all, whats ***** $9* *****!?!? Everyone knows o
o no one REALLY pays for the free 'shareware' samples which cost $45 so o
o this is my personal contribution to society, this is my way of paying o
o back, and STEALLING BUSINESS from those 'other guys'... o
o o
o If you have a printer, then at the DOS prompt, type: o
o o
o C:\BBS\SMURF\> copy order.frm prn o
o OR C:\BBS\SMURF\> copy smurf.ord prn o
o o
o and send your non-exploding order form including your hard earned $12 o
o (Send credit card info if you want, but don't be surprised by a $8000 o
o bill) to: o
o o
o Maartian Enterprises o
o 1415 Valeview Drive o
o Diamond Bar, CA 91765 o
o o
o *Price is $9 plus $3 shipping and handling. o
o o
o P.S. PPPLLLEEEAAASSSEEE use security envelopes or private delivery, for o
o your own protection, we are not responsible for lost or stolen o
o mail. o
o OH.. and your check or money order must be addressed to 'Laurence Maar' o
o to be acceptable o
o o
o HOW IT WORKS o
o ============ o
o Smurf Combat registration is done by simply running 'SMURF REGISTER' o
o Then enter in the appropriate registration numbers we gave you. o
o o
o o
o FINAL COMMENTS o
o ============== o
o I'd like to thank my nonexistant dog, my nonexistant cat, & most of all o
o Wayne Bell for inventing WWiV... o
o o
o And why the incredibly believably simulated 'computer paper' tear off o
o strips? I'll tell you that if you register and ASK for it... o
o o
o o
o o
o o
o o
o o
o Author, o
o Laurence Maar o
o o
#include <stdlib.h> /* CPU-Computer Player */
#include <string.h> /* DAT-Smurf Combat Data */
#include <stdio.h>
#include <math.h>
#include "OpenDoor.h" /* BBS-System Player */
int thisuserno, inuserno, noplayers, cyc, userhp, bbsexit;
char *smurf_onl_player[] = {"GRANDPA SMURF", "PAPA SMURF", "REBEL SMURF",
"SHADOW SMURF", "SWAP SMURF", "FIREBIRD SMURF",
"CONTRACT SMURF", "GOVERNMENT SMURF", "THIEF SMURF"};
int smurf_onl_weapon[] = {20, 19, 1, 3, 0, 0, 0, 0, 0};
int smurf_onl_armor[] = {20, 19, 0, 3, 0, 0, 0, 0, 0};
float smurf_onl_gold[] = {100, 200, 300, 400, 0, 0, 0, 0, 0};
float smurf_onl_bank[] = {1000000, 1000000, 10000, 1000, 0, 0, 0, 0, 0};
int smurf_onl_level[] = {40, 35, 10, 2, 0, 0, 0, 0, 0};
int smurf_onl_win[] = {30, 10, 5, 0, 0, 0, 0, 0, 0};
int smurf_onl_lose[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
int smurf_onl_hp[] = {30, 10, 5, 0, 0, 0, 0, 0, 0};
float smurf_onl_exp[] = {157450, 14640, 615, 60, 0, 0, 0, 0, 0};
int smurf_onl_turns[] = {5, 5, 5, 5, 0, 0, 0, 0, 0};
int smurf_onl_cpu[] = {1, 1, 1, 1, 1, 1, 1, 1, 1};
int smurf_onl_pimp[] = {10, 5, 0, 0, 0, 0, 0, 0, 0}; /* Pimping Level */
int smurf_onl_pimp2[] = {10, 10, 0, 0, 0, 0, 0, 0, 0}; /* Pimping Quantity */
char *smurf_smurfette[] = {"Femme Fatale", "Cassie", "None", "None", "", "", "", "", ""};
int smurf_ettelevel[] = {11, 10, 1, 1, 0, 0, 0, 0, 0};
int smurf_confineno[] = {11, 10, 0, 0, 0, 0, 0, 0, 0};
char *smurf_confine[] = {"Ropes", "Wooden Cage", "Basement", "Infirmary", "Catacombs", "Jail House", "Prison", "Pyramid", "Dungeon", "Fortress", "Underworld"};
float smurf_dat_cprices[] = {0, 1000, 10000, 50000, 100000, 500000, 1000000, 2000000, 5000000, 10000000, 100000000};
char *smurf_dat_weapon[] = {"Bad Words", "Dandelion", "Sun Flower Seeds", "Fountain Pen", "Rubber Band", "Stick", "Auto H2O Gun", "H2O Uzi", "Kitchen Knife",
"Metal PVC", "Baseball Bat", "Ice-T Album", "Satanic Rock CD", ".45 Auto", ".357 Magnum", "Shotgun", "Uzi", "Barrel Mach. Gun", "18", "Holy Water",
"Holy Cross"};
char *smurf_dat_armor[] = {"Middle Finger", "Smurf Cap", "No Fear Clothesline", "3", "4", "5", "6", "7", "8",
"9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
"Scapular/Inverted Star Pendant"};
float smurf_dat_prices[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
float smurf_dat_exp[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 30, 1, 2, 3, 4, 5, 6, 7, 8, 9,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int smurf_onl_hxst[] = {255, 255, 255, 255, 255, 255, 255, 255, 255};
int smurf_onl_hxst1[] = {255, 255, 0, 255, 255, 255, 255, 255, 255};
int smurf_onl_hxst2[] = {255, 255, 1, 255, 255, 255, 255, 255, 255};
int smurf_onl_str[] = {255, 255, 255, 255, 255, 255, 255, 255, 255}; /* strength */
int smurf_onl_dex[] = {255, 255, 255, 255, 255, 255, 255, 255, 255}; /* dexterity */
int smurf_onl_int[] = {255, 255, 255, 255, 255, 255, 255, 255, 255}; /* intelligence */
int smurf_onl_con[] = {255, 255, 255, 255, 255, 255, 255, 255, 255}; /* constitution */
int smurf_onl_bra[] = {255, 255, 255, 255, 255, 255, 255, 255, 255}; /* bravery */
int smurf_onl_chr[] = {255, 255, 255, 255, 255, 255, 255, 255, 255}; /* charisma */
#define SD_GREEN 0x0a
#define SD_CYAN 0x0b
#define SD_RED 0x0c
#define SD_VIOLET 0x0d
#define SD_YELLOW 0x0e
#define SD_WHITE 0x0f
void itemlist(void);
void displaystatus(void);
void checkplayer(void);
void titlescreen(void);
void loadplayer(void);
void checkplayer(void);
void commandcycle(void);
void displaymenu(void);
void conflist(void);
void userlist(void);
/* #define TUN thisuserno #define IUN inuserno #define BBSPLAYER
* smurf_onl_player /* System Players */
#define BBSWEAPON smurf_onl_weapon /* Sys Weapon */
#define BBSARMOR smurf_onl_armor /* Sys Armor */
#define BBSGOLD smurf_onl_gold /* Sys Gold */
#define BBSBANK smurf_onl_bank /* Sys Gold */
#define BBSLEVEL smurf_onl_level /* Sys Level */
#define BBSWIN smurf_onl_win /* Sys Wins */
#define BBSLOSE smurf_onl_lose /* Sys Loss */
#define BBSHP smurf_onl_hp /* Sys Hit Points */
#define BBSEXP smurf_onl_exp /* Sys Experience */
#define BBSHOST smurf_onl_hxst /* Sys Hostages - Smurfettes */
#define BBSHOST1 smurf_onl_hxst1 /* Sys Hostages - Player Hostage1 */
#define BBSHOST2 smurf_onl_hxst2 /* Sys Hostages - Player Hostage2 */
#define BBSCONF smurf_confineno /* Sys Confine Number */
#define SMURFETTE smurf_smurfette /* Sys Smurfette Name */
#define ETTELVL smurf_ettelevel /* Sys Smurfette Level */
#define CONFINE smurf_confine /* Dat Confine Listing */
#define BBSSTR smurf_onl_str /* Sys Strength */
#define BBSDEX smurf_onl_dex /* Sys Dexterity */
#define BBSCON smurf_onl_con /* Sys Constitution */
#define BBSINT smurf_onl_int /* Sys Intelligence */
#define BBSBRA smurf_onl_bra /* Sys Bravery */
#define BBSCHR smurf_onl_chr /* Sys Charisma */
#define DATWEAPON smurf_dat_weapon /* Smurf Combat Data Weapon Names */
#define DATARMOR smurf_dat_armor /* Smurf Combat Data Armor Names */
#define DATPRICES smurf_dat_prices /* Smurf Combat Data Prices */
#define DATEXP smurf_onl_exp /* Smurf Combat Data Experience */
*/
/***************************************************************************/
/* */
/* sss fff ccc b */
/* s s f f c c b */
/* s f c b */
/* sss mmm mmm u u r rr fff c ooo mmm mmm bbb aaa ttt */
/* s m m m u u rr f c o o m m m b b a a t */
/* s s m m m u uu r f c c o o m m m b b aaaa t */
/* sss m m m uu u r f ccc ooo m m m bbb a a t */
/* */
/* SYSOP Maintenance Code: !-S-Y-S-O-P-! ARENA */
/* REMOTE Maintenance Code: !-SIX-NINE-| MODULE */
/* */
/***************************************************************************/
#include "smurfext.h"
void
arena(void)
{
int arenalevel, erand, run = 0, hit = 0, enemyhp;
char enemie[31], eweapon[31], earmor[31];
int ews, aws;
float gf, ef;
roundsleft--;
if (roundsleft < 0) {
roundsleft = 0;
od_printf("\n\rOutta Turns!\n\n\r");
return;
}
/* stream=fopen("SMURF.LOG","a+"); */
/* fprintf(stream, "ARENA(%i):%s ...
* ",od_control.user_num,smurfname[thisuserno]); */
/* fclose(stream); */
od_clr_scr();
/* if(xp_random(5)==1)registerme(); */
arenalevel = bbsinkey - '0';
if (arenalevel == 0)
arenalevel = 10;
erand = xp_random(10);
ews = xp_random(8) + 1;
aws = xp_random(8) + 1;
if (arenalevel < 2 && smurflevel[thisuserno] < 4) {
ews = xp_random(4) + 1;
aws = xp_random(3) + 1;
}
enemyhp = (xp_random(arenalevel * 4) + (8 * arenalevel));
#ifdef TODO_WRAPPERS
strset(eweapon, 0);
strset(earmor, 0);
#endif
memset(eweapon, 0, sizeof(eweapon));
memset(earmor, 0, sizeof(earmor));
if (eweapno[arenalevel - 1][erand] > 99)
sprintf(eweapon, "%s", enemieweap[eweapno[arenalevel - 1][erand] - 100]);
else
sprintf(eweapon, "%s", defweapon[eweapno[arenalevel - 1][erand]]);
if (earmrno[arenalevel - 1][erand] > 99)
sprintf(earmor, "%s", enemiearmr[earmrno[arenalevel - 1][erand] - 100]);
else
sprintf(earmor, "%s", defarmor[earmrno[arenalevel - 1][erand]]);
sprintf(enemie, "%s", defenemie[arenalevel - 1][erand]);
od_set_colour(L_CYAN, D_BLACK);
od_printf("A %s %s\n\r", enemie, defstartline[erand]);
od_set_colour(L_GREEN, D_BLACK);
od_printf("Y.Weapon: %s, %i Pts\n\rY.Defense: %s, %i Pts\n\r", smurfweap[thisuserno], (smurfweapno[thisuserno] + 1) * 5, smurfarmr[thisuserno], (smurfarmrno[thisuserno] + 1) * 4);
od_printf("E.Weapon: %s, %i Pts\n\rE.Defense: %s, %i Pts\n\n\r", eweapon, (arenalevel - 1) * 10 + ews, earmor, (arenalevel - 1) * 8 + aws);
do {
od_set_colour(D_CYAN, D_BLACK);
od_printf("He has %i points left.\n\r", enemyhp);
od_set_colour(D_CYAN, D_BLACK);
od_printf("You have %i points left.\n\r", smurfhp[thisuserno]);
od_set_colour(L_YELLOW, D_BLACK);
od_printf("(A)ttack (R)un (S)tats: ", enemie);
bbsinkey = od_get_key(TRUE);
od_set_colour(L_CYAN, D_BLACK);
switch (bbsinkey) {
case 'A':
case 'a':
od_set_colour(L_CYAN, D_BLACK);
od_printf("Attack!\n\r");
hit = (xp_random((smurfweapno[thisuserno] + 1) * 5)) + 1;
hit = hit - xp_random((arenalevel - 1) * 10 + aws);
if (hit < 0)
hit = 0;
enemyhp = (enemyhp - hit);
__hit(hit);
if (enemyhp > 0) {
hit = (xp_random((arenalevel - 1) * 10 + ews)) + 1;
hit = hit - xp_random(smurfarmrno[thisuserno] * 4);
if (hit < 0)
hit = 0;
smurfhp[thisuserno] = (smurfhp[thisuserno] - hit);
__ehit(hit, 0);
}
/* if(enemyhp>0 && smurfhp[thisuserno]>0)od_clr_scr();else */ nl();
nl();
break;
case 'R':
case 'r':
run = 1;
od_printf("Run\n\n\rWimp!\n\n\r");
smurflose[thisuserno]++;
if (xp_random(20) == 1)
deductmorale();
if (xp_random(5) == 1) {
deductettemorale();
od_printf("Your smurfette is ashamed to know you...\n\r");
}
nl();
break;
case 'S':
case 's':
od_set_colour(L_CYAN, D_BLACK);
od_clr_scr();
deafult:nl();
nl();
break;
/*
od_printf("Enemie: %s [ArenaLevel: %i]\n\r", enemie, arenalevel);
od_set_colour(L_GREEN, D_BLACK);
od_printf("Y.Weapon: %s, %i Pts\n\rY.Defense: %s, %i Pts\n\r", smurfweap[thisuserno], (smurfweapno[thisuserno] + 1) * 5, smurfarmr[thisuserno], (smurfarmrno[thisuserno] + 1) * 4);
od_printf("E.Weapon: %s, %i Pts\n\rE.Defense: %s, %i Pts\n\n\r", eweapon, (arenalevel - 1) * 10 + ews, earmor, (arenalevel - 1) * 8 + aws);
break;
*/
}
} while (enemyhp > 0 && smurfhp[thisuserno] > 0 && run != 1);
if (smurfhp[thisuserno] < 1) {
od_printf("\n\n\rLooks like we have a problem here...\n\n\r");
smurfhp[thisuserno] = smurfhpm[thisuserno];
fprintf(stream, "LOST!(%i):", od_control.user_num);
fprintf(stream, "%-30s\n\r", smurfname[thisuserno]);
fclose(stream);
savegame();
lastquote();
od_exit(10, FALSE);
}
if (enemyhp < 1) {
gf = smurflevel[thisuserno] + 1;
gf *= arenalevel;
gf *= (xp_random(100));
gf += (69 * smurflevel[thisuserno]);
ef = smurflevel[thisuserno] + 1;
ef *= arenalevel;
ef *= (xp_random(100));
ef += (69 * smurflevel[thisuserno]);
od_printf("\n\n\rThe arena roars as you defeat the %s...\n\n\r", enemie);
od_printf("You found %.0f gold and get %.0f experience!\n\n\r", gf, ef);
smurfmoney[thisuserno] = (smurfmoney[thisuserno] + gf);
smurfexper[thisuserno] = (smurfexper[thisuserno] + ef);
fprintf(stream, "CHAM!(%i):", od_control.user_num);
fprintf(stream, "%-30s\n\r", smurfname[thisuserno]);
fclose(stream);
checklevel();
savegame();
}
}
#include<datewrap.h>
void
backgame(void)
{
char backname[20];
struct date d;
int thp;
getdate(&d);
sprintf(backname, "smurf.S%02.2d", d.da_day);
stream = fopen(backname, "w+");
fprintf(stream, "%03i", noplayers);
for (cyc = 0; cyc < noplayers; cyc++) {
if (smurfturns[cyc] < 0)
smurfturns[cyc] = 0;
if (smurffights[cyc] < 0)
smurffights[cyc] = 0;
thp = smurfhpm[cyc];
for (cyc2 = 0; cyc2 < 40; cyc2++)
fprintf(stream, "%03i", realname[cyc][cyc2]);
fprintf(stream, "%010i", realnumb[cyc]);
for (cyc2 = 0; cyc2 < 40; cyc2++)
fprintf(stream, "%03i", smurfname[cyc][cyc2]);
for (cyc2 = 0; cyc2 < 80; cyc2++)
fprintf(stream, "%03i", smurftext[cyc][cyc2]);
for (cyc2 = 0; cyc2 < 40; cyc2++)
fprintf(stream, "%03i", smurfweap[cyc][cyc2]);
for (cyc2 = 0; cyc2 < 40; cyc2++)
fprintf(stream, "%03i", smurfarmr[cyc][cyc2]);
for (cyc2 = 0; cyc2 < 40; cyc2++)
fprintf(stream, "%03i", smurfettename[cyc][cyc2]);
fprintf(stream, "%010i", smurfettelevel[cyc]);
fprintf(stream, "%010i", smurfweapno[cyc]);
fprintf(stream, "%010i", smurfarmrno[cyc]);
for (cyc3 = 0; cyc3 < 40; cyc3++)
fprintf(stream, "%03i", smurfconf[cyc][cyc3]);
fprintf(stream, "%010i", smurfconfno[cyc]);
for (cyc3 = 0; cyc3 < 10; cyc3++) {
/* 69d */ fprintf(stream, "%010i", smurfhost[cyc][cyc3]);
}
/* 69a fprintf(stream, "%010i",smurfhost[cyc]);fprintf(stream,
* "%010i",smurfhost1[cyc]);fprintf(stream, "%010i",smurfhost2[cyc]); */
fprintf(stream, "%010i", smurflevel[cyc]);
fprintf(stream, "%020.0f", smurfexper[cyc]);
fprintf(stream, "%020.0f", smurfmoney[cyc]);
fprintf(stream, "%020.0f", smurfbankd[cyc]);
fprintf(stream, "%010i", smurffights[cyc]);
fprintf(stream, "%010i", smurfwin[cyc]);
fprintf(stream, "%010i", smurflose[cyc]);
fprintf(stream, "%010i", thp);
fprintf(stream, "%010i", smurfhpm[cyc]);
fprintf(stream, "%010i", smurfstr[cyc]);
fprintf(stream, "%010i", smurfspd[cyc]);
fprintf(stream, "%010i", smurfint[cyc]);
fprintf(stream, "%010i", smurfcon[cyc]);
fprintf(stream, "%010i", smurfbra[cyc]);
fprintf(stream, "%010i", smurfchr[cyc]);
fprintf(stream, "%010i", smurfturns[cyc]);
/* 91 */ if (__morale[cyc] >= 13) {
__morale[cyc] = 13;
}
/* 91 */ if (__ettemorale[cyc] >= 999) {
__ettemorale[cyc] = 999;
}
/* 91 */ if (__morale[cyc] < 1) {
__morale[cyc] = 0;
}
/* 91 */ if (__ettemorale[cyc] < 1) {
__ettemorale[cyc] = 0;
}
/* 91 */ fprintf(stream, "%03i%03i", __morale[cyc], __ettemorale[cyc]);
for (cyc3 = 0; cyc3 < 5; cyc3++) {
/* 69b */ fprintf(stream, "%03i%03i", smurfspcweapon[cyc][cyc3], smurfqtyweapon[cyc][cyc3]); /* 111222 - Special Weap
* Number / Qty */
}
/* 69c */ fprintf(stream, "%03i", smurfsex[cyc]); /* 000/001/002
* Nil/Mal/Fem */
} fclose(stream);
fprintf(stream, "%03i", noplayers);
for (cyc = 0; cyc < noplayers; cyc++) {
od_sleep(50);
cprintf(".");
for (cyc2 = 0; cyc2 < 40; cyc2++)
fprintf(stream, "%03i", realname[cyc][cyc2]);
fprintf(stream, "%010i", realnumb[cyc]);
for (cyc2 = 0; cyc2 < 40; cyc2++)
fprintf(stream, "%03i", smurfname[cyc][cyc2]);
for (cyc2 = 0; cyc2 < 80; cyc2++)
fprintf(stream, "%03i", smurftext[cyc][cyc2]);
for (cyc2 = 0; cyc2 < 40; cyc2++)
fprintf(stream, "%03i", smurfweap[cyc][cyc2]);
for (cyc2 = 0; cyc2 < 40; cyc2++)
fprintf(stream, "%03i", smurfarmr[cyc][cyc2]);
for (cyc2 = 0; cyc2 < 40; cyc2++)
fprintf(stream, "%03i", smurfettename[cyc][cyc2]);
fprintf(stream, "%010i", smurfettelevel[cyc]);
fprintf(stream, "%010i", smurfweapno[cyc]);
fprintf(stream, "%010i", smurfarmrno[cyc]);
for (cyc2 = 0; cyc2 < 40; cyc2++)
fprintf(stream, "%03i", smurfconf[cyc][cyc2]);
fprintf(stream, "%010i", smurfconfno[cyc]);
for (cyc3 = 0; cyc3 < 10; cyc3++) {
/* 69d */ fprintf(stream, "%010i", smurfhost[cyc][cyc3]);
}
/* 69a fprintf(stream, "%010i",smurfhost[cyc]);fprintf(stream,
* "%010i",smurfhost1[cyc]);fprintf(stream, "%010i",smurfhost2[cyc]); */
fprintf(stream, "%010i", smurflevel[cyc]);
fprintf(stream, "%020.0f", smurfexper[cyc]);
fprintf(stream, "%020.0f", smurfmoney[cyc]);
fprintf(stream, "%020.0f", smurfbankd[cyc]);
fprintf(stream, "%010i", smurffights[cyc]);
fprintf(stream, "%010i", smurfwin[cyc]);
fprintf(stream, "%010i", smurflose[cyc]);
fprintf(stream, "%010i", smurfhp[cyc]);
fprintf(stream, "%010i", smurfhpm[cyc]);
fprintf(stream, "%010i", smurfstr[cyc]);
fprintf(stream, "%010i", smurfspd[cyc]);
fprintf(stream, "%010i", smurfint[cyc]);
fprintf(stream, "%010i", smurfcon[cyc]);
fprintf(stream, "%010i", smurfbra[cyc]);
fprintf(stream, "%010i", smurfchr[cyc]);
fprintf(stream, "%010i", smurfturns[cyc]);
for (cyc3 = 0; cyc3 < 6; cyc3++) {
/* 69b */ fprintf(stream, "%03i%03i", smurfspcweapon[cyc][cyc3], smurfqtyweapon[cyc][cyc3]); /* 111222 - Special Weap
* Number / Qty */
}
} fclose(stream);
stream = fopen("smurf.log", "a+");
fprintf(stream, "\n\rSPAWN:) System Backup\n\r");
fprintf(stream, "SPAWN:) System Save Game\n\r");
fclose(stream);
}
/***************************************************************************/
/* */
/* sss fff ccc b */
/* s s f f c c b */
/* s f c b */
/* sss mmm mmm u u r rr fff c ooo mmm mmm bbb aaa ttt */
/* s m m m u u rr f c o o m m m b b a a t */
/* s s m m m u uu r f c c o o m m m b b aaaa t */
/* sss m m m uu u r f ccc ooo m m m bbb a a t */
/* */
/* SYSOP Maintenance Code: !-S-Y-S-O-P-! BLOCKADE */
/* REMOTE Maintenance Code: !-SIX-NINE-| BLOCKADE */
/* */
/***************************************************************************/
extern char *get_blk_err_msg(int num);
char *
get_blk_err_msg(int num)
{
char *sp;
static char *blk_err_msgs[] = {
"No error", /* 0 */
"No memory for buffer", /* 1 */
"Error opening file", /* 2 */
"No memory for file buffering",
"File buffering failure", /* 4 */
"Fseek error",
"Error reading data block", /* 6 */
"Invalid data block info",
"Error reading file", /* 8 */
"Error reading file", /* 9 */
"Error reading file", /* 10 */
"Check Value error", /* 11 */
"File size error", /* 12 */
"Invalid error number"}; /* 13 */
if (num == -1)
num = 11;
if (num == -2)
num = 12;
if ((num < 0) || (num > 12))
num = 13; /* out of range */
sp = blk_err_msgs[num];
return (sp);
}
#define DOSMODEONLY
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
#include<ciolib.h>
#ifdef TODO_HEADERS
#include<dos.h>
#endif
#include"smurfdef.h"
#include"smurfgen.h"
#include"smurfver.h"
#include"smurfsav.h"
#include"smurfcnv.h"
void
main(void)
{
int a = 0, b = 0, c = 0;
getdate(&d);
clrscr();
printf("This program will convert your old Smurf Combat save game files\n");
printf("from version 69a-69c to version 91. If you are not sure which\n");
printf("version you are converting FROM, press letter X to abort. Your\n");
printf("current version number will be displayed on the title screen of\n");
printf("Smurf Combat.\n\n");
printf("Press X to abort, any other key to continue...");
proc = getch();
if (proc == 'X' || proc == 'x')
exit(1);
clrscr();
textcolor(12);
cprintf("\n");
cprintf(" S M U R F C O M B A T\n\n\r");
textcolor(10);
cprintf(" 69-91 Conversion Module\n\r");
cprintf(" %sVersion %s\n\r", __vcnvsp, __vcnv);
cprintf(" By Laurence Manhken\n\n\r");
textcolor(9);
cprintf("From Version 69a, 69b, or 69c? [abC]: ");
textcolor(12);
proc = getch();
if (proc == 'A' || proc == 'a')
a = 1;
else if (proc == 'B' || proc == 'b')
b = 1;
else
c = 1;
textcolor(9);
cprintf("\n\n\rProceed? [Yn]: ");
textcolor(12);
proc = getch();
if (proc != 'Y' && proc != 'y') {
cprintf("Nope\n\r");
return;
} cprintf("Yea\n\n\r");
textcolor(9);
cprintf("Sure!?!?!? [Yn]: ");
textcolor(12);
proc = getch();
if (proc != 'Y' && proc != 'y') {
cprintf("Nope\n\r");
return;
} cprintf("Yea\n\n\r");
textcolor(9);
cprintf("SURE!?!?!? [Yn]: ");
textcolor(12);
proc = getch();
if (proc != 'Y' && proc != 'y') {
cprintf("Nope\n\r");
return;
} cprintf("Yea\n\n\r");
if (a)
loadgame69a();
if (b)
loadgame69b();
if (c)
loadgame69c();
for (cyc = 0; cyc < noplayers; cyc++) {
__morale[cyc] = 3;
__ettemorale[cyc] = 0;
}
savegame();
}
/* /* 69a -- 69a -- 69a */
void
loadgame69a(void)
{
char intext[81], revtext[10], outtext[81] = "";
int inputint;
stream = fopen("smurf.sgm", "r+");
cyc = 0;
fscanf(stream, "%3s", intext);
noplayers = atoi(intext);
for (cyc = 0; cyc < noplayers; cyc++) {
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(realname[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
realnumb[cyc] = atoi(intext);
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfname[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 80; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurftext[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfweap[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfarmr[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfettename[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
smurfettelevel[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfweapno[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfarmrno[cyc] = atoi(intext);
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfconf[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
smurfconfno[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfhost[cyc][0] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfhost[cyc][0] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfhost[cyc][0] = atoi(intext);
fscanf(stream, "%10s", intext);
smurflevel[cyc] = atoi(intext);
fscanf(stream, "%20s", intext);
smurfexper[cyc] = atof(intext);
fscanf(stream, "%20s", intext);
smurfmoney[cyc] = atof(intext);
fscanf(stream, "%20s", intext);
smurfbankd[cyc] = atof(intext);
fscanf(stream, "%10s", intext);
smurffights[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfwin[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurflose[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfhp[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfhpm[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfstr[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfspd[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfint[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfcon[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfbra[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfchr[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfturns[cyc] = atoi(intext);
} fclose(stream);
}
/* 69b -- 69b -- 69b */
void
loadgame69b(void)
{
char intext[81], revtext[10], outtext[81] = "";
int inputint;
stream = fopen("smurf.sgm", "r+");
cyc = 0;
fscanf(stream, "%3s", intext);
noplayers = atoi(intext);
for (cyc = 0; cyc < noplayers; cyc++) {
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(realname[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
realnumb[cyc] = atoi(intext);
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfname[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 80; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurftext[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfweap[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfarmr[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfettename[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
smurfettelevel[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfweapno[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfarmrno[cyc] = atoi(intext);
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfconf[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
smurfconfno[cyc] = atoi(intext);
/* 69b */ for (cyc3 = 0; cyc3 < 10; cyc3++) {
fscanf(stream, "%10s", intext);
smurfhost[cyc][cyc3] = atoi(intext);
}
/* fscanf(stream,"%10s",intext);smurfhost1[cyc]=atoi(intext); //69b */
/* fscanf(stream,"%10s",intext);smurfhost2[cyc]=atoi(intext); //69b */
/* 69a fscanf(stream,"%10s",intext);smurfhost[cyc][0]=atoi(intext); */
/* 69a fscanf(stream,"%10s",intext);smurfhost[cyc][0]=atoi(intext); */
/* 69a fscanf(stream,"%10s",intext);smurfhost[cyc][0]=atoi(intext); */
fscanf(stream, "%10s", intext);
smurflevel[cyc] = atoi(intext);
fscanf(stream, "%20s", intext);
smurfexper[cyc] = atof(intext);
fscanf(stream, "%20s", intext);
smurfmoney[cyc] = atof(intext);
fscanf(stream, "%20s", intext);
smurfbankd[cyc] = atof(intext);
fscanf(stream, "%10s", intext);
smurffights[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfwin[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurflose[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfhp[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfhpm[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfstr[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfspd[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfint[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfcon[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfbra[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfchr[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfturns[cyc] = atoi(intext);
for (cyc3 = 0; cyc3 < 6; cyc3++) {
/* 69b */ fscanf(stream, "%3s", intext);
smurfspcweapon[cyc][cyc3] = atoi(intext);
/* 69b */ fscanf(stream, "%3s", intext);
smurfqtyweapon[cyc][cyc3] = atoi(intext);
}
} fclose(stream);
}
/* 69c -- 69c -- 69c */
void
loadgame69c(void)
{
char intext[81], revtext[10], outtext[81] = "";
int inputint;
stream = fopen("smurf.sgm", "r+");
cyc = 0;
fscanf(stream, "%3s", intext);
noplayers = atoi(intext);
for (cyc = 0; cyc < noplayers; cyc++) {
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(realname[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
realnumb[cyc] = atoi(intext);
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfname[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 80; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurftext[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfweap[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfarmr[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfettename[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
smurfettelevel[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfweapno[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfarmrno[cyc] = atoi(intext);
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfconf[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
smurfconfno[cyc] = atoi(intext);
/* 69b */ for (cyc3 = 0; cyc3 < 10; cyc3++) {
fscanf(stream, "%10s", intext);
smurfhost[cyc][cyc3] = atoi(intext);
}
/* fscanf(stream,"%10s",intext);smurfhost1[cyc]=atoi(intext); //69b */
/* fscanf(stream,"%10s",intext);smurfhost2[cyc]=atoi(intext); //69b */
/* 69a fscanf(stream,"%10s",intext);smurfhost[cyc][0]=atoi(intext); */
/* 69a fscanf(stream,"%10s",intext);smurfhost[cyc][0]=atoi(intext); */
/* 69a fscanf(stream,"%10s",intext);smurfhost[cyc][0]=atoi(intext); */
fscanf(stream, "%10s", intext);
smurflevel[cyc] = atoi(intext);
fscanf(stream, "%20s", intext);
smurfexper[cyc] = atof(intext);
fscanf(stream, "%20s", intext);
smurfmoney[cyc] = atof(intext);
fscanf(stream, "%20s", intext);
smurfbankd[cyc] = atof(intext);
fscanf(stream, "%10s", intext);
smurffights[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfwin[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurflose[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfhp[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfhpm[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfstr[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfspd[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfint[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfcon[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfbra[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfchr[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfturns[cyc] = atoi(intext);
for (cyc3 = 0; cyc3 < 6; cyc3++) {
/* 69b */ fscanf(stream, "%3s", intext);
smurfspcweapon[cyc][cyc3] = atoi(intext);
/* 69b */ fscanf(stream, "%3s", intext);
smurfqtyweapon[cyc][cyc3] = atoi(intext);
}
/* 69c */ fscanf(stream, "%3s", intext);
smurfsex[cyc] = atoi(intext);
} fclose(stream);
}
/* 91 -- 91 -- 91 */
void
loadgame91(void)
{
char intext[81], revtext[10], outtext[81] = "";
int inputint;
stream = fopen("smurf.sgm", "r+");
cyc = 0;
fscanf(stream, "%3s", intext);
noplayers = atoi(intext);
fscanf(stream, "%5s", intext); /* save version */
for (cyc = 0; cyc < noplayers; cyc++) {
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(realname[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
realnumb[cyc] = atoi(intext);
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfname[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 80; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurftext[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfweap[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfarmr[cyc], "%s", outtext);
sprintf(outtext, "\0");
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfettename[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
smurfettelevel[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfweapno[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfarmrno[cyc] = atoi(intext);
for (cyc2 = 0; cyc2 < 40; cyc2++) {
fscanf(stream, "%3s", intext);
inputint = atoi(intext);
sprintf(revtext, "%c", inputint);
strcat(outtext, revtext);
}
sprintf(smurfconf[cyc], "%s", outtext);
sprintf(outtext, "\0");
fscanf(stream, "%10s", intext);
smurfconfno[cyc] = atoi(intext);
/* 69b */ for (cyc3 = 0; cyc3 < 10; cyc3++) {
fscanf(stream, "%10s", intext);
smurfhost[cyc][cyc3] = atoi(intext);
}
/* fscanf(stream,"%10s",intext);smurfhost1[cyc]=atoi(intext); //69b */
/* fscanf(stream,"%10s",intext);smurfhost2[cyc]=atoi(intext); //69b */
/* 69a fscanf(stream,"%10s",intext);smurfhost[cyc][0]=atoi(intext); */
/* 69a fscanf(stream,"%10s",intext);smurfhost[cyc][0]=atoi(intext); */
/* 69a fscanf(stream,"%10s",intext);smurfhost[cyc][0]=atoi(intext); */
fscanf(stream, "%10s", intext);
smurflevel[cyc] = atoi(intext);
fscanf(stream, "%20s", intext);
smurfexper[cyc] = atof(intext);
fscanf(stream, "%20s", intext);
smurfmoney[cyc] = atof(intext);
fscanf(stream, "%20s", intext);
smurfbankd[cyc] = atof(intext);
fscanf(stream, "%10s", intext);
smurffights[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfwin[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurflose[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfhp[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfhpm[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfstr[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfspd[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfint[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfcon[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfbra[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfchr[cyc] = atoi(intext);
fscanf(stream, "%10s", intext);
smurfturns[cyc] = atoi(intext);
/* 91 */ fscanf(stream, "%3s", intext);
__morale[cyc] = atoi(intext);
/* 91 */ fscanf(stream, "%3s", intext);
__ettemorale[cyc] = atoi(intext);
/* 91 */ if (__morale[cyc] >= 13) {
__morale[cyc] = 13;
}
/* 91 */ if (__ettemorale[cyc] >= 999) {
__ettemorale[cyc] = 999;
}
/* 91 */ if (__morale[cyc] < 1) {
__morale[cyc] = 0;
}
/* 91 */ if (__ettemorale[cyc] < 1) {
__ettemorale[cyc] = 0;
}
for (cyc3 = 0; cyc3 < 5; cyc3++) {
/* 69b */ fscanf(stream, "%3s", intext);
smurfspcweapon[cyc][cyc3] = atoi(intext);
/* 69b */ fscanf(stream, "%3s", intext);
smurfqtyweapon[cyc][cyc3] = atoi(intext);
}
/* 69c */ fscanf(stream, "%3s", intext);
smurfsex[cyc] = atoi(intext);
} fclose(stream);
}
*/
/***************************************************************************/
/* */
/* sss fff ccc b */
/* s s f f c c b */
/* s f c b */
/* sss mmm mmm u u r rr fff c ooo mmm mmm bbb aaa ttt */
/* s m m m u u rr f c o o m m m b b a a t */
/* s s m m m u uu r f c c o o m m m b b aaaa t */
/* sss m m m uu u r f ccc ooo m m m bbb a a t */
/* */
/* SYSOP Maintenance Code: !-S-Y-S-O-P-! CXXvert */
/* REMOTE Maintenance Code: !-SIX-NINE-| Module */
/* */
/***************************************************************************/
#define DOSMODEONLY
#include"smurfext.h"
/* #include"smurfcnv.h" */
void
__CNV__main(void)
{
/* struct date d; *//* char proc; int a=0,b=0,c=0,e=0; getdate(&d); */
clrscr();
/* printf("This program will convert your old Smurf Combat save game
* files\n"); printf("from version .69a-.91 to version 1.30. If you are
* not sure which\n"); printf("version you are converting FROM, press
* letter X to abort. Your\n"); printf("current version number will be
* displayed on the title screen of\n"); */
printf("This conversion program CANNOT convert to 1.77.\n");
printf("You must run 'SMURF RESET'\n\n");
printf("Press any key ...");
/* proc= */ getch();
exit(1);
/*
* if(proc=='X' || proc=='x')exit(1);
*
*
* clrscr();textcolor(12);cprintf("\n"); cprintf(" S M U R F C O M B A
* T\n\n\r");textcolor(10); cprintf(" 69-91 Conversion Module\n\r");
* cprintf(" %sVersion %s\n\r",__vcnvsp,__vcnv); cprintf(" By
* Laurence Manhken\n\n\r"); textcolor(7); cprintf("[A] Version
* 0.69a\n\r"); cprintf("[B] Version 0.69b\n\r"); cprintf("[C] Version
* 0.69c\n\r"); cprintf("[D] Version 0.91\n\n\r"); textcolor(9);
* cprintf("From Version [abcD]: ");textcolor(12);proc=getch();
* if(proc=='A' || proc=='a')a=1; else if(proc=='B' || proc=='b')b=1;
* else if(proc=='C' || proc=='c')c=1; else e=1;
* textcolor(9);cprintf("\n\n\rProceed? [Yn]:
* ");textcolor(12);proc=getch(); if(proc!='Y' &&
* proc!='y'){cprintf("Nope\n\r");return;}cprintf("Yea\n\n\r");
* textcolor(9);cprintf("Sure!?!?!? [Yn]: ");textcolor(12);proc=getch();
* if(proc!='Y' &&
* proc!='y'){cprintf("Nope\n\r");return;}cprintf("Yea\n\n\r");
* textcolor(9);cprintf("SURE!?!?!? [Yn]: ");textcolor(12);proc=getch();
* if(proc!='Y' &&
* proc!='y'){cprintf("Nope\n\r");return;}cprintf("Yea\n\n\r");
* if(a)loadgame69a(); if(b)loadgame69b(); if(c)loadgame69c();
* if(e)loadgame91(); //if(e)loadgame100();
* for(cyc=0;cyc<noplayers;cyc++){__morale[cyc]=3;__ettemorale[cyc]=0;}
* savegame(); */
}
o o
o SMURF COMBAT STORYLINE INTRODUCTION (revised version 1.81!!!) o
o o
o Looking up at the massive carving you stare at the face of doG, (God o
o spelled backwards) his body nailed to a cross. Wondering where you o
o had gone wrong you recalled what had happened several weeks ago on a o
o camping trip. You looked in search of rumors of a deserted fortress. o
o Papa Smurf had always warned people never to believe such rumors and o
o to NEVER go in search of them, but you, you had... o
o o
o As you glance up and the massive carving, and then down at the floor o
o you recall your journey... o
o o
o "Well, THIS one looks a MITE cultishLESS... wouldn't you say Jason?" o
o Jason smurf glanced up at a gagged smurfette who had been chained up o
o against a wall in torchure position (We can't detail because small o
o children may be reading this). After a short pause he replied, "I'd o
o say so, you know what THAT means, don't you?" The second smurf, a o
o short but VERY well built smurf in his early twenties sort of o
o giggled, but the hollowness in his raspy voice sounded more like the o
o two year old giggle of a perverted Saddam Hussien on crack. "Yup, I o
o know what that means!" The reply was openly energetic and full of o
o anticipation. Slowly he drew out a gun metal black object about six o
o inches long, six feet wide, and two metric tons from his inside coat o
o pocket. The smurf raised the weapon and carefully aimed it at the o
o smurfette who's face was now full of terror, but unable to scream o
o due to a sudden lack of interest and raw boredom, not to mention the o
o fact she was gagged. Focusing in on her head, Jason made a devilish o
o laugh of SEXUAL satisfaction as he pulled the trigger... o
o o
o Suddenly, from a high over-looking balcony of the fortress someone o
o yelled "Noooooooooooooooooon!" in a French accent. Instantenously, o
o sun flower seeds screamed through the atmosphere and collided into o
o Jason square in the head, knocking him unconcious. H2O (pure water) o
o erupted from the Uzi (so thats what Jason was holding), missing the o
o shocked smurfette by a fraction of a nanometer. Jason fired out "Get o
o him Murf Smurf!" and fell into unconsciousness. Murf swirled around o
o just in time to see a dark shadow dashing off, pulling hard on his o
o gun's trigger, water sliced into the balcony railing, causing part o
o of it the come crashing down into the lower floor. o
o o
o You dashed through the tunnels of the fortress and within a couple o
o seconds alarms sounded and you could hear the metallic slamming of o
o vertical doors against solid concrete being closed by a battery of o
o security computers. Suddenly, guard smurfs were appearing out of no o
o where, many of them armed with sticks, while a few elite guards o
o furbished stainless steel H2O Uzis and Rifles. By the time you o
o reached the main entrance hall of the fortress, a couple dozen o
o guards were dashing around to their posts, the drawbridge slowly o
o closing less than 100 yards ahead. You were almost out of air but o
o you knew you HAD to escape. Nearing to the drawbridge, a few guards o
o locked on you with their sights and fired. The sound of fire water o
o jeting arcross the hall and sticks flying through the air was almost o
o deafening. o
o o
o You leaped through the air as a blast of water went soaring past o
o your body. You could hear a loud painful wailing as if it were in o
o the distance -- your wailing as you made solid contact with the o
o closing drawbridge. The bridge was already at a 45 degree angle, o
o but regaining your composure, you scrambled over the large o
o drawbridge and dived into the moat. Slowly you climbed out and ran o
o towards your camp. In the background you could hear the sound o
o of water tearing apart layers of the solid oak and sticks colliding, o
o wood against metal... o
o o
o You arived home ten minutes later by hitch-hiking on a local forest o
o animal, a crabbit (rabbit with a crab like upper torso) only to find o
o that the evil smurfs had gotten there first in their Z28 Camaros, o
o and killed your entire family. Signs that they were shot to death o
o was evident by the amount of water on the floor. You left in search o
o of help... o
o o
o ------------------------------------------------------------------------ o
o o
o Three weeks later. You had contacted an underground movement, the o
o CIASIAM smurf rebellion (Climatic and Intelligent Anti-Social Indigo o
o Asia Movement) which was headed by REBEL SMURF. You learned that o
o PAPA SMURF had been coordinating an operation to convert the village o
o village into pseudo-satan-saddamism and conquer the humans. You also o
o learned that by spying on humans the evil smurfs obtained a o
o technology far more damaging than bad words and before forbidden o
o which allows one to fire METAL projectile thru the air similar to o
o the fatal H2O weapons used by the military's elite for bass fishing. o
o Except, FAR more destructive than a broken yo-yo dropped from the o
o top of the Empire State building, even better than the best of the o
o H2O class. The rebels had bribed several guards and managed to o
o obtain this technology as well in order to combat the evil smurfs. o
o o
o REBEL SMURF offered you to chance to join the revolution, told you o
o the location of the CIASIAM C.H.Q. and all you have to do is sign in o
o and report... o
o o
Well, hello there. Unless I'm wrong, I believe your new here. You've
come to get justice for what has happened to your family and for
smurfanity. You've come to battle the evil pseudo-satan-saddamist
smurfs!
..............................................................................
. Hostage Menu .
..............................................................................
.[1] Torture Hostage : This command lets you torture hostages, however this .
. may be too much for a hostage, esp. if it's a female .
. which may kill him/her. This has a negative result, .
. see kill hostage. .
.[2] Abuse Hostage : This command is like torture hostage except it has a .
. greater affect on your hostage, and if word gets out .
. about your torchurings, you will lose levels and you .
. will be attacked at random intervals by computer .
. players. .
.[3] Kill Hostage : This command will let you attempt to kill a hostage, .
. if you succeed you will lose 1-5 levels, lose 5 win .
. points, and you will recieve 3 loss points. .
.[4] Transfer Hostage : This command will let you transfer a hostage to .
. another player with an open slot for a hostage. .
.[5] Release Hostage : In Smurf Combat you have the option or releasing a .
. hostage, maybe to open up space for others or maybe .
. that smurf simply can't pay up. .
.[?] Hostage Help : This documentation. .
.[Q] Quit Menu .
..............................................................................
. .
\ No newline at end of file
o...........................................................................o
o o
o ***** Smurf Combat 1.81 ***** o
o o
o The prerequisite for winning this game is [now]: o
o 100,000,000 Experience Points + Defeat of Grandpa Smurf o
o or 101,000,000 Experience Points Only o
o o
o The cheat code that lets you automatically win the game has been fixed. o
o The sysop operations menu is now only accessible by user number one. o
o o
o The BC++ 2.0 source code for this program is now $69 due to high demand. o
o o
o Please distribute this version to any and all boards running outmoded o
o copies of Smurf Combat. Your karma will reflect your efforts. o
o o
o...........................................................................o
o o
o ***** Smurf Combat 1.77 ***** o
o o
o All functions and codes have been encrypted with SIXTEEN LEVELS of code o
o verification to prevent old cracks from functioning. This was done when o
o we discovered that there was a GOOD crack for this program, but that's o
o PERMANENTLY solved now (oh well...<heheh>) o
o o
o The new title screen and version screen Maartian Enterprise policy is o
o now in effect, so hope you like the new screen format! o
o o
o SAVE FILE CORRUPTION! SAVE FILE CORRUPTION! SAVE FILE CORRUPTION! o
o To my best belief, I think we have FINALLY solved the problem where the o
o save file becomes corrupt and the 'Ranking' outputs strange characters! o
o Their were several problems with hostage functions which caused it. o
o o
o This program has also been tested with over 100 Synchronet users, so we o
o believe that all Synchronet bugs should have been worked out. o
o o
o The SOURCE CODE for Smurf Combat still only $29. o
o o
o...........................................................................o
o o
o <<< FINAL RELEASE -- Smurf Combat 1.50 >>> o
o o
o Once again I have changed the algorithms and relocated the locations o
o of the registration function as well as renamed variable into integers o
o instead of words, so any old 'CRACK' will NOT work. o
o o
o Also, your registration code MIGHT not work with this version, if it o
o doesn't, contact me. o
o o
o Intermediate codes are also no longer required and your registration o
o name will fit on one line now! o
o o
o The SOURCE CODE for Smurf Combat is now ONLY *** $29 *** price is o
o negotiable, and there is no longer a restriction on who can buy it. o
o Source code includes all *.C* files. o
o o
o...........................................................................o
o o
o <<< FINAL RELEASE -- Smurf Combat 1.30 >>> o
o o
o Once again I have changed the algorithms and relocated the locations o
o of the registration function as well as renamed variable into integers o
o instead of words, so any old 'CRACK' will NOT work. o
o o
o Also, your registration code MIGHT not work with this version, if it o
o doesn't, contact me. o
o o
o Intermediate codes are also no longer required and your registration o
o name will fit on one line now! o
o o
o The SOURCE CODE for Smurf Combat is now ONLY *** $30 *** price is o
o negotiable, and there is no longer a restriction on who can buy it. o
o Source code includes all *.C* files. o
o o
o...........................................................................o
o o
o >>> Smurf Combat [Legal] Released 1.20 o
o o
o BEAUCOUP, BEAUCOUP, BEAUCOUP things have changed. Well, okay some small o
o things including: Local screen scrolls easier. Typographical errors were o
o fixed. Secret Service is COMPLETELY functional. Registration codes are o
o calculated to be exactly 9.33333333334 times harder to crack. Also, o
o status bar has been removed. No more staring at the grey box at the o
o bottom of your screen. Gender remarks have been all filtered! o
o o
o Smurf Combat now comes with it VERY VERY VERY own FILEID.DIZ and o
o DESC.SDI (or whatever). Also, look out for Tasanian strategical!! The o
o new onliner coming from the mother of all new wave door games! o
o o
o Also, a few days before the releasal of this version I received the o
o following letter of registration which basically left me fanatic for the o
o next hour or so. I was literally yelling out <<EVERYBODY LOVES IT!>> o
o o
o "3 bucks for Da Registration. Very cool o
o game, everyone loves it!..." o
o -- Brian T. (Red Brawn), N. Carolina o
o o
o No capitalization or punctualization has been modified. o
o o
o This will probably be my last release unless someone wants to help o
o me program or something on a royalty basis, cuz I am TOTALLY swamped o
o with onliner ideas. Gushing left and right, sooooo..... o
o o
o...........................................................................o
o o
o >>> Smurf Combat [Legal] Released 1.10 o
o o
o Several unclassified changes have been made. o
o o
o Program no longer uses direct video writes. o
o o
o Unregistered attack message now occurs once every 5 times and o
o duration is 6 times shorter! (cool dayz, huh?) o
o o
o...........................................................................o
o o
o >>> Smurf Combat [Legal] Released 1.00 o
o o
o Several unclassified changes have been made. o
o o
o...........................................................................o
o o
o >>> Smurf [***Official Release***] Combat 0.91 o
o o
o Incite Revolt functions all work without and problems so far o
o o
o Secret Service functions also have been finished and work o
o o
o Abilities can now be swapped and all serve a purpose o
o o
o...........................................................................o
o o
o --0.70a Beta-- o
o Player limit enforced o
o o
o Smurfette menu completed and working o
o o
o Smurfette operations completed and working o
o o
o Spying on another smurf completed and working o
o o
o...........................................................................o
o o
o --0.69f-- o
o Hostages can be tortured, released or transfered. o
o o
o Killing a hostage costs you experience and loss points, and hit points. o
o o
o Computer players now upgrade weapons and attack players o
o o
o...........................................................................o
o o
o --0.69-- o
o The number of hostages you can have is determined by the number of your o
o confinement level. o
o o
o The Release hostage command works. o
o o
o The ranking list is color coded as follows: B.Green-Alive, D.Green-Host o
o B.Cyan-You. o
o o
o If you CANNOT afford something on the weapons list (calculates bank & on o
o hand) it will not display the number for that item. o
o o
o...........................................................................o
o o
o --0.01b-- o
o o
o Problem fixed, work continues o
o o
o...........................................................................o
o o
o --0.01-- o
o o
o Program corrupts BIOS/DOS/EMS/XMS ... o
o o
o...........................................................................o
o o
o --0.00d-- o
o o
o Project resumed, basic functions work, can ask for command input, etc.. o
o o
o Experimental o
o o
o...........................................................................o
o o
o --0.00c-- o
o o
o Same problems occured, project abandoned o
o o
o...........................................................................o
o o
o --0.00b-- o
o o
o Problems occured, entire program had to be rewritten. o
o o
o...........................................................................o
o o
o --0.00-- o
o o
o Nothing works, only file names, i.e. SMURF.CPP, *.PRJ, *.DSK exist. o
o o
o Program is $0.01 to register. o
o o
o...........................................................................o
o o
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment