Sacrafice::BurntOffering()
{
/* Information taken from the following sources:
* Leviticus 1:1-17
* Leviticus 6:8-13
*/
Worshipper->bring(Animal);
if (isMale(Animal) && withoutDefect(Animal)) { // Does the bird have to be male?
if (isBull(Animal)) {
Worshipper->layHandOn(Animal->Head);
Worshipper->slaughter(Animal);
Priest->sprinkleBloodOn(BurntAlter->Sides);
Worshipper->skin(Animal);
Worshipper->cutIntoPieces(Animal);
Priest->placeOn(BurntAlter, Animal->Pieces);
Priest->placeOn(BurntAlter, Animal->Head);
Priest->placeOn(BurntAlter, Animal->Fat);
} else if (isGoat(Animal)) {
Worshipper->layHandOn(Animal->Head);
Worshipper->slaughter(Animal);
Priest->sprinkleBloodOn(BurntAlter->Sides);
Worshipper->skin(Animal);
Worshipper->cutIntoPieces(Animal);
Priest->placeOn(BurntAlter, Animal->Pieces);
Priest->placeOn(BurntAlter, Animal->Head);
Priest->placeOn(BurntAlter, Animal->Fat);
} else if (isPigeon(Animal) or isDove(Animal)) {
Worshipper->layHandOn(Animal->Head);
Priest->wringOff(Animal->Head);
Priest->drainBloodOn(BurntAlter->Side);
Priest->removeCropAndContentsOf(Animal);
Priest->throwCropAndContentsTo(BurntAlter->EastSide);
Priest->tearOpen(Animal);
Priest->placeOn(BurntAlter, Animal);
}
}
while (Priest->waitTillNextMorning)
Priest->keepFireBurningOn(BurntAlter);
Priest->putOn(LinenGarments);
Priest->removeAshes(BurntAlter);
Priest->placeAshes(BurntAlter->Side);
Priest->changeGarments();
Priest->carry(Ashes, CeremoniallyCleanPlaceOutsideOfCamp);
while (true)
Priest->keepFireBurningOn(BurntAlter);
}
Sacrafice::GrainOffering()
{
/* Information taken from the following sources:
* Leviticus 2:1-16
* Leviticus 6:14-23
*/
switch(Offering->type) {
case UNCOOKED_FLOUR:
Worshipper->bring(FineFlour);
Worshipper->bring(Oil);
Worshipper->bring(Frankincense);
MemorialPortion = Priest->mix(FineFlour.portion, Oil, Frankincense);
PriestlyPortion = FineFlour;
break;
case BAKED_CAKE:
Worshipper->bring(FineFlour);
Worshipper->bring(Oil);
Worshipper->bring(Frankincense);
Cake = Worshipper->mix(FineFlour, Oil);
Worshipper->bake(Cake);
MemorialPortion = Cake.portion + Frankincense; // Does incense need to be added
PriestlyPortion = Cake;
break;
case BAKED_WAFER:
Worshipper->bring(FineFlour);
Worshipper->bring(Oil);
Worshipper->bring(Frankincense);
Wafer = Worshipper->mix(FineFlour, Oil);
Worshipper->bake(Wafer);
Worshipper->spread(Oil, Wafer);
MemorialPortion = Wafer.portion + Frankincense; // Does incense need to be added
PriestlyPortion = Wafer;
break;
case GRIDDLE_BREAD:
Worshipper->bring(FineFlour);
Worshipper->bring(Oil);
Worshipper->bring(Frankincense);
GriddleCake = Worshipper->mix(FineFlour, Oil);
Worshipper->bakeOnGriddle(GriddleCake);
Worshipper->crumble(GriddleCake);
Worshipper->pour(Oil, GriddleCake);
MemorialPortion = GriddleCake.portion + Frankincense; // Does incense need to be added
PriestlyPortion = GriddleCake;
break;
case PAN_BREAD:
Worshipper->bring(FineFlour);
Worshipper->bring(Oil);
Worshipper->bring(Frankincense);
GriddleCake = Worshipper->mix(FineFlour, Oil);
Worshipper->bakeInPan(PanCake);
MemorialPortion = PanCake.portion + Frankincense; // Does incense need to be added
PriestlyPortion = PanCake;
break;
case UNCOOKED_CRUSHED_GRAIN:
Worshipper->bring(CrushedGrain);
Worshipper->bring(Oil);
Worshipper->bring(Frankincense);
MemorialPortion = Priest->mix(CrushedGrain.portion, Oil, Frankincense);
PriestlyPortion = CrushedGrain;
break;
}
if (seasonedWithSalt(MemorialPortion)
and noHoney(MemorialPortion)
and noYeast(MemorialPortion)) {
Priest->burn(MemorialPortion, BurntAlter);
Priest->keep(PriestlyPortion);
}
}
Sacrafice::FellowshipOffering()
{
/* Information taken from the following sources:
* Leviticus 3:1-17
* Leviticus 7:11-21
* Leviticus 7:28-38
*/
Worshipper->bring(Animal); // Bull, Cow, Lamb, Goat
if (withoutDefect(Animal)) {
Worshipper->layHandOn(Animal->Head);
Worshipper->slaughter(Animal);
Priest->sprinkleBloodOn(BurntAlter->Sides);
Priest->burnOn(BurntAlter, Animal->Fat);
Priest->burnOn(BurntAlter, Animal->Kidneys);
Priest->burnOn(BurntAlter, Animal->LiverLobe);
switch(Offering->type) {
case THANKSGIVING: // Eph 2:13
Cakes += Worshipper->makeCakes(Cake - Yeast + Oil); // 1 Cor 5:6-8
Cakes += Worshipper->makeCakes(Wafer - Yeast + Oil);
Cakes += Worshipper->makeCakes(FineFlour + Oil);
/* Don't understand the purpose of leaven in the offering */
Cakes += Worshipper->makeCakes(Cake + Yeast); // Matt 13:33 / Amos 4:5
Priest->getsOneOfEach(Cakes);
Priest->gets(Animal->Breast);
Priest->gets(Animal->RightThigh);
Priest->waveOffering(Animal->Breast);
Priest->waveOffering(Animal->RightThigh);
switch(Offering->eatingTime) {
case TODAY:
if (Eater->isCeremoniallyUnclean()) {
Eater->cutOffFromPeople();
}
break;
case AFTER_TODAY
Eater->punished();
break;
}
break;
case VOW:
case FREEWILL:
switch(Offering->eatingTime) {
case TODAY:
if (Eater->isCeremoniallyUnclean()) {
Eater->cutOffFromPeople();
}
break;
case NEXT_DAY:
if (Eater->isCeremoniallyUnclean()) {
Eater->cutOffFromPeople();
}
break;
case AFTER_NEXT_DAY
Eater->punished();
break;
}
break;
}
}
}
Sacrafice::SinOffering()
{
/* Information taken from the following sources:
* Leviticus 4:1-5:13
* Leviticus 6:24-30
*/
switch(Worshipper->type)
{
case PRIEST:
Animal = Worshipper->bring(MaleBull);
if (withoutDefect(Animal))
{
Worshipper->layHandOn(Animal->Head);
Worshipper->slaughter(Animal);
for (int x=0;x<7;x++)
Priest->sprinkleBloodOn(Tabernacle->Curtain);
Priest->placeBloodOn(IncenceAlter->Horns);
Priest->pourBloodAt(BurntAlter->Base);
Priest->burn(Animal->Fat + Animal->Kidneys + Animal->LiverLobe, BurntAlter);
Priest->burn(Animal->Remains, CeremoniallyCleanPlaceOutsideOfCamp);
}
break;
case WHOLE_COMMUNITY:
Animal = Elders->bring(MaleBull);
if (withoutDefect(Animal))
{
Elders->layHandOn(Animal->Head);
Elders->slaughter(Animal);
for (int x=0;x<7;x++)
Priest->sprinkleBloodOn(Tabernacle->Curtain);
Priest->placeBloodOn(IncenceAlter->Horns);
Priest->pourBloodAt(BurntAlter->Base);
Priest->burn(Animal->Fat + Animal->Kidneys + Animal->LiverLobe, BurntAlter);
Priest->burn(Animal->Remains, CeremoniallyCleanPlaceOutsideOfCamp);
}
break;
case COMMUNITY_LEADER:
Animal = Worshipper->bring(MaleGoat);
if (withoutDefect(Animal))
{
Worshipper->layHandOn(Animal->Head);
Worshipper->slaughter(Animal);
Priest->placeBloodOn(BurntAlter->Horns);
Priest->pourBloodAt(BurntAlter->Base);
Priest->burn(Animal->Fat, BurntAlter);
Priest->canEat(Animal->Remains, CeremoniallyCleanPlace);
}
break;
case COMMUNITY_MEMBER:
if (Worshipper->canAfford(FemaleGoat) or Worshipper->canAfford(Lamb))
{
Animal = Worshipper->bring(FemaleGoat or Lamb);
if (withoutDefect(Animal))
{
Worshipper->layHandOn(Animal->Head);
Worshipper->slaughter(Animal);
Priest->placeBloodOn(BurntAlter->Horns);
Priest->pourBloodAt(BurntAlter->Base);
Priest->burn(Animal->Fat, BurntAlter);
Priest->canEat(Animal->Remains, CeremoniallyCleanPlace);
}
}
else if (Worshipper->canAfford(2 * Dove))
{
Bird1 = Worshipper->bring(Dove);
Bird2 = Worshipper->bring(Dove);
Priest->wringOff(Bird1->Head);
Priest->sprinkleBloodOn(BurntAlter->Side);
Priest->drainBloodAt(BurntAlter->Base);
Priest->canEat(Bird1->Remains, CeremoniallyCleanPlace);
Sacrafice::BurntOffering(Bird2);
}
else
{
Offering = Worshipper->bring(1/10 * ephah * FineFlour);
Sacrafice::GrainOffering();
}
break;
}
}
Sacrafice::GuiltOffering()
{
/* Information taken from the following sources:
* Leviticus
* Leviticus
* Coming Soon ...
*/
}
|