From 3f557369c7bbd08fdf2e6dbd9271873b20a9a144 Mon Sep 17 00:00:00 2001 From: fusion32 Date: Sat, 24 May 2025 20:57:24 -0300 Subject: halfway of `map.cc` and start of `objects.cc` --- src/creature.cc | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'src/creature.cc') diff --git a/src/creature.cc b/src/creature.cc index effac42..e2cb5ce 100644 --- a/src/creature.cc +++ b/src/creature.cc @@ -2,6 +2,56 @@ #include "enums.hh" +TCreature::TCreature(void) : + TSkillBase(), + Combat(), + ToDoList(0, 20, 10) +{ + this->Master = this; + this->ID = 0; + this->NextHashEntry = NULL; + this->NextChainCreature = 0; + this->Murderer[0] = 0; + this->startx = 0; + this->starty = 0; + this->startz = 0; + this->posx = 0; + this->posy = 0; + this->posz = 0; + this->Direction = 0; + this->Radius = INT_MAX; + this->IsDead = false; + this->LoseInventory = 2; + this->LoggingOut = false; + this->LogoutAllowed = false; + this->EarliestLogoutRound = 0; + this->EarliestProtectionZoneRound = 0; + this->EarliestYellRound = 0; + this->EarliestTradeChannelRound = 0; + this->EarliestSpellTime = 0; + this->EarliestMultiuseTime = 0; + this->EarliestWalkTime = 0; + this->LifeEndRound = 0; + this->FirstKnowingConnection = NULL; + this->SummonedCreatures = 0; + this->FireDamageOrigin = 0; + this->PoisonDamageOrigin = 0; + this->EnergyDamageOrigin = 0; + this->CrObject = NONE; + this->ActToDo = 0; + this->NrToDo = 0; + this->NextWakeup = 0; + this->Stop = false; + this->LockToDo = false; + this->Connection = NULL; + + for(int i = 0; i < NARRAY(this->Skills); i += 1){ + this->NewSkill((uint16)i, this); + } +} + +// TODO(fusion): Probably better to figure out how TCombat and Object work. + // Creature Functions //============================================================================== // TODO(fusion): This was the first function I attempted to cleanup but soon -- cgit v1.2.3