;уровень 0-6
LEVDAT EQU #79C0 ;адр. нач данных уровня
ORG LEVDAT
;******************************************************
;********* ГЛОБАЛЬНЫЕ ПАРАМЕТРЫ УРОВНЯ ****************
isRUNL RET ;#C9 - обычный уровень, иначе кодовый блок
;--------характеристики сторон-------(0)-обнулять вначале
;параметры играющего
hTOWER DEFB 2 ;мак.число типов вооруж (1-4)
hARC DEFB 0 ;0-2 (0)
hHORSE DEFB 0 ;0-3 (0)
hSHILD DEFB 0 ;0-2 (0)
hBLADE DEFB 0 ;0-2 (0)
hmaxC DEFB 1 ;1-3 чиcло возможн иccл закл свящ
hmaxW DEFB 1 ;1-3 число --"-- закл волш
;дополнительные параметры играющего
hmaxB1 DEFB 2 ;макс число стандарт зданий (0 или 1-2)
hmaxB2 DEFB 2 ;maкc число доп эданий (0, 1-4)
hWALL DEFB 0 ;0/17 - можно/нельзя строить стены
;параметры компьютера
kTOWER DEFB 2 ;1-4
kARC DEFB 0 ;0-2
kHORSE DEFB 0 ;0-3
kSHILD DEFB 0 ;0-2
kBLADE DEFB 0 ;0-2
kmaxC DEFB 1 ;1,3 чиcло иccл закл (0-нет свящ)
kmaxW DEFB 0 ;1..3 чиcло иccл закл (0-нет волш)
;----------- параметры стратегии врага ----------------
;/wSTRATEG (1.ед.изм - 8тик)
levMAX DEFB 4 ;макс число народу в группе (для уровня) = 1..10
levDEL DEFB 67 ;средн задержка межд сборами (для уровня) = 1..X
lev1ST DEFB 199 ;нач задержка первого сбора = 1..
;Тип уровня 0 ;обычный
;Тип уровня 1 ;атакованый охранник становится атакующим
;Тип уровня 2 ;см. тип 1 + охранники иногда идут в атаку
levTYP DEFB 0 ;тип уровня (0-обычный)
;-------- цветовые настройки -------
COLOR DEFB #20 ;цвет поля
;-------- общие параметры уровня -----
MASTER DEFB 0 ; кто играет 0/1 - люди?кунги
LEVEL DEFB 6 ; номер уровня
MONEY DEFB 0,0,1,2,0,0 ;деньги
WOOD DEFB 0,0,0,8,0,0 ;леc
TASK_M ;задание: 3 строки по 20+1 символов = 63
incbin "../task/w106.tsk"
LEVRES DEFB 0,0,0,43,0,0,127 ;текущее время прохождения
;------- используемые файлы -------
fsLAND DEFB 1; 1-4
fsMUS DEFB 0; 0-7
;****************** Инициализируемые переменные ****************
;--------------- (входят в описание каждого уровня) ------------
;/выбраные герои
SEL_T DEFB 0 ;0-none;1-один;2-6-group;7-кунг,8-здание
SEL_N DEFB 0,0,0,0,0,0 ;номера 6 выбр гер/зд
sel_en DEFB #FF ;выбранный враг-цель
sel_ti DEFB 0 ;время отображения цели
;/outLED
LED DEFB 4,3,4,3,4,3
;/putTX
_msg DEFB #FF
pTX_AD DEFW 0;WNAMES
TX_AD DEFW 0;WNAMES
pTXdel DEFB 0 ;t задержки на выв экcтр cообщ
;/M_PLAT
isPLAT DEFB 0; 0/1-есть/нет площадки
szPLAT DEFB 0; размер площадки под стр-во (1..3, 0-нет)
bcPLAT DEFW 0; размеры
adPLAT DEFW 0; позиция in ATR
waPLAT DEFB 0; если стена - 1
;/PAUSE
onPAUS DEFB 1 ;0-включить паузу
;/SOUNDn
NOTA DEFW se ;текущ нота
se DEFW #FFFF ;конст
levSND DEFB 0 ;0-макс громкость
sIY56 DEFW 0 ;координаты снарядов
priv_S DEFB 0 ;текущ приоритет (0-нет мелодии)
NOTA2 DEFW se ;нота новой мелодии
priv_2 DEFB 0 ;нов приор
;/STRATEG - variables
pntX DEFB 32 ;-коорд т.сбора
pntY DEFB 31 ;-/
pntNUM DEFB 0 ;-число оставшихся до конца сбора воинов (0-конец сбора, 255-нов сбор)
pntDEL DEFB 22 ;-время до нач.след сбора/задержка на пр-во воина
pntTAR DEFB #FF ;-объект атаки (0-101 - воины, #80.. -здания, #FF-нет)
pntUNI DEFB 0 ;-отряд разнородный/однородный (0/member typ)
pntEN DEFB 0,0,0,0,0,0
;-разреш пр-во вида (3..8) (0-нет)
pntMAN DEFB 0 ;тип пораждаемого воина
;/isEND
END_1 DEFB 0 ;0/1/2-none/нет врагов/нет людей
END_2 DEFB 0 ;не0-князь вошёл в пещеру
TheEND DEFB 0 ;0/1/2-none/победа людей/победа врагов (устанавл в _cLOOP)
;-----------(резерв)-------------
dummy DEFS 6,0
;-----------процедуры------------
pcLOOP JR _cLOOP
pcINI ;стартовая процедура
RET
;_cLOOP ;процедура окончания под землёй
; LD A,(END_2)
; OR A
; JR NZ,_cLO1
; LD A,(END_1)
; CP 1
; RET Z
;_cLO1 LD (TheEND),A
; RET
_cLOOP ;стандартная проц окончания
LD A,(END_1)
LD (TheEND),A
RET
;------ обнуление основных структур данных ---
DEFS #7AA0-$,#27
BULL DEFS 24*12 ;from #7AA0
MINE DEFS 8*8 ;from #7BC0
HBUILD DEFS 32*8 ;from #7C00
KBUILD DEFS 32*8 ;from #7D00
BUF512 EQU #7E00; буфер512 ;from #7E00
MAP EQU #8000; DEFS #1000 ;from #8000
MAP2 EQU #9000; DEFS #1000 ;from #9000
DSCR EQU #A000; DEFS #1800 ;from #A000
HUMAN EQU #B800; DEFS 48*16 ;from #B800
KUNGE EQU #BB00; DEFS 48*16 ;from #BB00
SLAVE EQU #BE00; DEFS 6*16 ;from #BE00
XY EQU #BE60; DEFS 102*4 ;from #BE60
;NEXT EQU #BFF8; nop
;для мар2:
;0-своб.поле, 1-граница, 2 -непрох
;#38-#3F шахты
;#40-#5F здания людей
;#60-#7F здания кунгов
;#80-#AF люди
;#B0-#DF кунги
;#E0-#FF пленники
;------------------------------------------------------------
;--------- Золото шахт ----- (4096+512 переносится на BUF512)
datMIN DEFW 300,160,330,160,9,9,9,9 ;золото для шахт/100
;0-чей (255-конец), 1-тип, 2/3-XY,4-none
;------ Описание героев и карты ---
datHER
incbin "../map/w106_s1.her"
incbin "../map/w106_s1.map"
;-------Картинка-----
datSCR
incbin "../barkov/land.scr"
;----------------------------------