journey/combat.zabstr
historicalsource 689e06b55f Final Revision
2019-04-14 16:35:30 -04:00

64 lines
2.6 KiB
Plaintext

<BEGIN-SEGMENT 0>
<OBJECT DWARVES (SDESC "Dwarves") (KBD 68) (ATTACK 200 200) (STATUS 100) (
RETREAT 0)>
<GLOBAL OPPONENT BANDITS>
<CONSTANT COMBAT-COS 0>
<CONSTANT COMBAT-CDS 1>
<GLOBAL COMBAT-DAMAGE <LTABLE 0 0 0 0 0 0 0 0 0 0 0>>
<GLOBAL COMBAT-ROUND -1>
<DEFINE-ROUTINE STRENGTH>
<DEFINE-ROUTINE END-COMBAT>
<COMMAND STRENGTH>
<COMMAND CLIMB>
<COMMAND DOWN>
<COMMAND UP>
<DEFINE-ROUTINE SURPRISE-COMBAT>
<COMMAND COMBAT <> ("AUX" (OFF 0) CMD CHR (TOS 0) (TDS 0) OOS ODS TBL) <SETG
COMBAT-ROUND <ADD ,COMBAT-ROUND 1>> <SET TBL <GETPT ,OPPONENT ,P?ATTACK>> <SET
OOS <STRENGTH ,OPPONENT .TBL ,COMBAT-COS>> <SET ODS <STRENGTH ,OPPONENT .TBL ,
COMBAT-CDS>> <SET OFF 0> <REPEAT () <COND (<GRTR? <SET OFF <ADD .OFF 1>> ,
PARTY-MAX> <RETURN>) (T <SET CHR <GET ,PARTY .OFF>> <SET TBL <GETPT .CHR ,
P?ATTACK>> <SET TOS <ADD .TOS #ZLOCAL!-IZILCH STACK>> <SET TDS <ADD .TDS #
ZLOCAL!-IZILCH STACK>>)>> <PUT ,COMBAT-STRENGTHS ,CS-PARTY-OFFENSE .TOS> <PUT ,
COMBAT-STRENGTHS ,CS-PARTY-DEFENSE .TDS> <PUT ,COMBAT-STRENGTHS ,
CS-OPPONENT-OFFENSE .OOS> <PUT ,COMBAT-STRENGTHS ,CS-OPPONENT-DEFENSE .ODS> <
SCENE-ACTION ,STRENGTH-COMMAND> <DESCRIBE-COMBAT> <RTRUE>>
<DEFINE-ROUTINE V-COMBAT>
<COMMAND COMBAT-RESULT>
<DEFINE-ROUTINE SCENE-ACTION>
<GLOBAL COMBAT-STRENGTHS <TABLE 0 0 0 0>>
<CONSTANT CS-PARTY-OFFENSE 0>
<CONSTANT CS-PARTY-DEFENSE 1>
<CONSTANT CS-OPPONENT-OFFENSE 2>
<CONSTANT CS-OPPONENT-DEFENSE 3>
<DEFINE-ROUTINE ADD-PARTY-DEFENSE>
<DEFINE-ROUTINE ADD-PARTY-OFFENSE>
<CONSTANT COMBAT-RESULT-TBL <TABLE "no" "trivial" "minor" "significant" "major"
"grave">>
<DEFINE-ROUTINE COMBAT-RESULT>
<DEFINE-ROUTINE MIN>
<DEFINE-ROUTINE DESCRIBE-COMBAT>
<CONSTANT D-MAJOR 60>
<CONSTANT D-MODERATE 80>
<CONSTANT D-MINOR 90>
<GLOBAL OFFENSIVE-RESULT 0>
<GLOBAL DEFENSIVE-RESULT 0>
<CONSTANT DAMAGE-TBL <LTABLE <LTABLE D-MINOR> <LTABLE D-MINOR D-MINOR> <LTABLE
D-MODERATE D-MINOR D-MINOR> <LTABLE D-MODERATE D-MODERATE D-MINOR D-MINOR> <
LTABLE D-MAJOR D-MODERATE D-MODERATE D-MINOR>>>
<CONSTANT OPPONENT-DAMAGE-TBL <LTABLE 95 90 80 75 70>>
<DEFINE-ROUTINE DAMAGE-OPPONENT>
<DEFINE-ROUTINE DAMAGE-PARTY>
<DEFINE-ROUTINE DAMAGE-STATUS>
<CONSTANT DAMAGE-STATUS-TBL <TABLE "critically wounded" "severely wounded"
"badly wounded" "wounded, but strong" "slightly wounded" "unscathed">>
<DEFINE-ROUTINE DAMAGE-REPORT>
<DEFINE-ROUTINE DAMAGE-CHARACTER>
<DEFINE-ROUTINE PARTY-STATUS>
<DEFINE-ROUTINE DAMAGE-ORDER>
<DEFINE-ROUTINE PAIR-SORT>
<CONSTANT AGGRESSION-TBL <TABLE "a decidedly defensive" "a defensive"
"a somewhat defensive" "a balanced" "an aggressive" "an agressive"
"a boldly aggressive" "an all-out aggressive" "an almost suicidally aggressive"
>>