the very basics of pdf generation

This commit is contained in:
2023-09-05 22:16:05 +02:00
parent 4a82db7f38
commit 4cb1da19a0
9 changed files with 271 additions and 123 deletions
+10 -109
View File
@@ -1,111 +1,12 @@
import React from "react";
import {Osztaly} from "../domain-models/osztaly";
import {KarakterTulajdonsagok, Modifier} from "../domain-models/tulajdonsag";
import {OverlayTrigger, Tooltip} from "react-bootstrap";
import {SignedNumberToText} from "./Helpers";
import {KarakterMasodlagosErtekek} from "../domain-models/masodlagos_ertekek";
function HP(osztaly: Osztaly, egeszseg: number) {
let base = 4;
switch (osztaly){
case Osztaly.Barbar:
base = 12
break;
case Osztaly.Amazon:
case Osztaly.Ijasz:
case Osztaly.Kaloz:
case Osztaly.Harcos:
base = 10;
break
case Osztaly.Pap:
base = 8;
break;
case Osztaly.Tolvaj:
base = 6;
break;
case Osztaly.Varazslo:
case Osztaly.Illuzionista:
base = 4;
break;
}
return base + Modifier(egeszseg)
}
function TamadasBonusz(osztaly: Osztaly) : number {
switch (osztaly){
case Osztaly.Barbar:
case Osztaly.Amazon:
case Osztaly.Ijasz:
case Osztaly.Kaloz:
case Osztaly.Harcos:
return 2;
case Osztaly.Pap:
case Osztaly.Tolvaj:
return 0;
case Osztaly.Varazslo:
case Osztaly.Illuzionista:
return 0;
}
}
function MasodlagosErtekek(props: {ertekek: KarakterMasodlagosErtekek}) {
function KozelharciTB(osztaly: Osztaly, tulajdonsagok: KarakterTulajdonsagok): number {
const base = TamadasBonusz(osztaly);
if (osztaly === Osztaly.Kaloz && tulajdonsagok.t_ugy > tulajdonsagok.t_ero) {
return base + Modifier(tulajdonsagok.t_ugy)
}
return base + Modifier(tulajdonsagok.t_ero)
}
function KitartasMento(osztaly: Osztaly) : number {
switch (osztaly){
case Osztaly.Barbar:
case Osztaly.Amazon:
case Osztaly.Ijasz:
case Osztaly.Kaloz:
case Osztaly.Harcos:
case Osztaly.Pap:
return 2;
case Osztaly.Tolvaj:
case Osztaly.Varazslo:
case Osztaly.Illuzionista:
return 0;
}
}
function ReflexMento(osztaly: Osztaly) : number {
switch (osztaly){
case Osztaly.Tolvaj:
return 2;
case Osztaly.Barbar:
case Osztaly.Amazon:
case Osztaly.Ijasz:
case Osztaly.Kaloz:
case Osztaly.Harcos:
case Osztaly.Pap:
case Osztaly.Varazslo:
case Osztaly.Illuzionista:
return 0;
}
}
function AkarateroMento(osztaly: Osztaly) : number {
switch (osztaly){
case Osztaly.Pap:
case Osztaly.Varazslo:
case Osztaly.Illuzionista:
return 2;
case Osztaly.Tolvaj:
case Osztaly.Barbar:
case Osztaly.Amazon:
case Osztaly.Ijasz:
case Osztaly.Kaloz:
case Osztaly.Harcos:
return 0;
}
}
function MasodlagosErtekek(props: {osztaly: Osztaly, tulajdonsagok: KarakterTulajdonsagok}) {
const { osztaly, tulajdonsagok } = props;
const { ertekek } = props
const tooltip = (
<Tooltip id="tooltip">
@@ -125,33 +26,33 @@ function MasodlagosErtekek(props: {osztaly: Osztaly, tulajdonsagok: KarakterTula
<span>(HP)</span>
</OverlayTrigger>
</label>
<p className='col'>{HP(osztaly, tulajdonsagok.t_egs)}</p>
<p className='col'>{ertekek.HP}</p>
</div>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Védekezési Osztály (VO)</label>
<p className='col'>{10+Modifier(tulajdonsagok.t_ugy)}</p>
<p className='col'>{ertekek.VO}</p>
</div>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Közelharci támadás</label>
<p className='col'>{SignedNumberToText(KozelharciTB(osztaly, tulajdonsagok))}</p>
<p className='col'>{SignedNumberToText(ertekek.KozelHarciTB)}</p>
</div>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Célzó támadás</label>
<p className='col'>{SignedNumberToText(TamadasBonusz(osztaly) + Modifier(tulajdonsagok.t_ugy))}</p>
<p className='col'>{SignedNumberToText(ertekek.CelzoTB)}</p>
</div>
</div>
<div className='col-lg-6'>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Kitartás mentő</label>
<p className='col'>{SignedNumberToText(KitartasMento(osztaly) + Modifier(tulajdonsagok.t_egs))}</p>
<p className='col'>{SignedNumberToText(ertekek.KitartasMento)}</p>
</div>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Reflex mentő</label>
<p className='col'>{SignedNumberToText(ReflexMento(osztaly) + Modifier(tulajdonsagok.t_ugy))}</p>
<p className='col'>{SignedNumberToText(ertekek.ReflexMento)}</p>
</div>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Akaraterő mentő </label>
<p className='col'>{SignedNumberToText(AkarateroMento(osztaly) + Modifier(tulajdonsagok.t_bol))}</p>
<p className='col'>{SignedNumberToText(ertekek.AkarateroMento)}</p>
</div>
</div>
</div>