Files
CydandClaude Fable 5 fdd9ac9d97 Initial import: Tesla Release 4.10 (Tesla:BattleTech & Tesla:Red Planet)
Archival snapshot of the Virtual World Entertainment Tesla cockpit
software, 1994-1996: MUNGA engine and L4 pod layer source (Borland
C++ 5.0), BT/RP game code, and game content (models, audio, maps,
gauges, Division renderer data). Includes third-party libraries:
Division dVS/DPL graphics, HMI SOS audio, WATTCP networking.

Files are preserved byte-for-byte (.gitattributes disables all
line-ending conversion). README.md documents the layout, target
hardware, and toolchain.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 13:21:58 -05:00

163 lines
4.6 KiB
C++

//===========================================================================//
// File: scnrole.hpp //
// Project: MUNGA //
// Contents: Scenario Mission Specific Data //
//---------------------------------------------------------------------------//
// Date Who Modification //
// -------- --- ---------------------------------------------------------- //
// 01/9/96 JM initial coding //
//---------------------------------------------------------------------------//
// Copyright (C) 1995, Virtual World Entertainment, Inc. //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//===========================================================================//
#if !defined (SCNROLE_HPP)
# define SCNROLE_HPP
# if !defined (NODE_HPP)
# include <node.hpp>
# endif
# if !defined (CSTR_HPP)
# include <cstr.hpp>
# endif
# if !defined(RESOURCE_HPP)
# include <resource.hpp>
# endif
# if !defined(SCALAR_HPP)
# include <scalar.hpp>
# endif
class NotationFile;
//##############################################################################
//##################### ScenarioRole::ModelResource ######################
//##############################################################################
struct ScenarioRole__ModelResource
{
Scalar
killBonus,
damageReceivedModifier,
damageInflictedModifier,
damageBias,
friendlyFirePenalty;
int
returnFromDeath;
};
//###########################################################################
//##################### Class ScenarioRole #############################
//###########################################################################
class ScenarioRole :
public Node
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Score Support
//
public:
Scalar
CalcDamageReceivedScore(const Scalar &damage_received);
protected:
Scalar
damageInflictedModifier,
damageReceivedModifier,
friendlyFirePenalty,
damageBias,
killBonus;
CString
roleName;
int
returnFromDeath;
public:
const int
GetReturnFromDeath()
{ Check(this); return returnFromDeath; }
Scalar
GetDamageInflictedModifier() const
{ Check(this); return damageInflictedModifier; }
Scalar
GetDamageReceivedModifier() const
{ Check(this); return damageReceivedModifier; }
Scalar
GetFriendlyFirePenalty() const
{ Check(this); return friendlyFirePenalty; }
Scalar
GetDamageBias() const
{ Check(this); return damageBias; }
Scalar
GetKillBonus() const
{ Check(this); return killBonus; }
CString
GetRoleName() const
{Check(this); return roleName; }
void
SetDamageInflictedModifier(const Scalar &value)
{ Check(this); damageInflictedModifier = value; }
void
SetDamageReceivedModifier(const Scalar value)
{ Check(this); damageReceivedModifier = value; }
void
SetFriendlyFirePenalty(const Scalar &value)
{ Check(this); friendlyFirePenalty = value; }
void
SetDamageBias(const Scalar &value)
{ Check(this); damageBias = value; }
void
SetKillBonus(const Scalar &value)
{ Check(this); killBonus = value; }
void
SetReturnFromDeath(const int &value)
{ Check(this); returnFromDeath = value ; }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Construction / Destruction
public:
typedef ScenarioRole__ModelResource ModelResource;
ScenarioRole(
const CString &role_name,
const CString &model_file
);
ScenarioRole(const CString &role_name);
~ScenarioRole();
static ResourceDescription::ResourceID
CreateModelResource(
ResourceFile *resource_file,
const char* model_name,
NotationFile * model_file,
const ResourceDirectories *directories,
ModelResource *model = NULL
);
};
#endif