OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
GameScript Class Referencefinal

#include <gamescript.h>

Classes

struct  DlgChoice
 
struct  PerDist
 

Public Member Functions

 GameScript (GameSession &owner)
 
 ~GameScript ()
 
bool hasSymbolName (std::string_view fn)
 
void initializeInstanceNpc (const std::shared_ptr< zenkit::INpc > &npc, size_t instance)
 
void initializeInstanceItem (const std::shared_ptr< zenkit::IItem > &item, size_t instance)
 
void resetVarPointers ()
 
void initDialogs ()
 
void saveQuests (Serialize &fout)
 
void loadQuests (Serialize &fin)
 
void saveVar (Serialize &fout)
 
void loadVar (Serialize &fin)
 
void savePerc (Serialize &fout)
 
void loadPerc (Serialize &fin)
 
auto & getVm ()
 
auto questLog () const -> const QuestLog &
 
const Worldworld () const
 
Worldworld ()
 
uint64_t tickCount () const
 
void tick (uint64_t dt)
 
uint32_t rand (uint32_t max)
 
void removeItem (Item &it)
 
void setInstanceNPC (std::string_view name, Npc &npc)
 
void setInstanceItem (Npc &holder, size_t itemId)
 
AiOuputPipeopenAiOuput ()
 
AiOuputPipeopenDlgOuput (Npc &player, Npc &npc)
 
auto * goldId () const
 
ScriptFn playerPercAssessMagic ()
 
std::string_view currencyName () const
 
int npcDamDiveTime ()
 
int32_t criticalDamageMultiplyer () const
 
auto * lockPickSymbol () const
 
uint32_t lockPickId () const
 
const zenkit::IFocus & focusNorm () const
 
const zenkit::IFocus & focusMelee () const
 
const zenkit::IFocus & focusRange () const
 
const zenkit::IFocus & focusMage () const
 
const zenkit::IGuildValues & guildVal () const
 
std::string_view menuMain () const
 
zenkit::DaedalusSymbol * findSymbol (std::string_view s)
 
zenkit::DaedalusSymbol * findSymbol (const size_t s)
 
size_t findSymbolIndex (std::string_view s)
 
size_t symbolsCount () const
 
const AiStateaiState (ScriptFn id)
 
const zenkit::ISpell & spellDesc (int32_t splId)
 
const VisualFxspellVfx (int32_t splId)
 
auto dialogChoices (std::shared_ptr< zenkit::INpc > self, std::shared_ptr< zenkit::INpc > npc, const std::vector< uint32_t > &except, bool includeImp) -> std::vector< DlgChoice >
 
auto updateDialog (const GameScript::DlgChoice &dlg, Npc &player, Npc &npc) -> std::vector< GameScript::DlgChoice >
 
void exec (const DlgChoice &dlg, Npc &player, Npc &npc)
 
void printCannotUseError (Npc &npc, int32_t atr, int32_t nValue)
 
void printCannotCastError (Npc &npc, int32_t plM, int32_t itM)
 
void printCannotBuyError (Npc &npc)
 
void printMobMissingItem (Npc &npc)
 
void printMobAnotherIsUsing (Npc &npc)
 
void printMobMissingKey (Npc &npc)
 
void printMobMissingKeyOrLockpick (Npc &npc)
 
void printMobMissingLockpick (Npc &npc)
 
void printMobTooFar (Npc &npc)
 
void invokeState (const std::shared_ptr< zenkit::INpc > &hnpc, const std::shared_ptr< zenkit::INpc > &hother, const char *name)
 
int invokeState (Npc *npc, Npc *other, Npc *victim, ScriptFn fn)
 
void invokeItem (Npc *npc, ScriptFn fn)
 
int invokeMana (Npc &npc, Npc *target, int mana)
 
int invokeManaRelease (Npc &npc, Npc *target, int mana)
 
void invokeSpell (Npc &npc, Npc *target, Item &fn)
 
int invokeCond (Npc &npc, std::string_view func)
 
void invokePickLock (Npc &npc, int bSuccess, int bBrokenOpen)
 
void invokeRefreshAtInsert (Npc &npc)
 
auto canNpcCollideWithSpell (Npc &npc, Npc *shooter, int32_t spellId) -> CollideMask
 
int playerHotKeyScreenMap_G1 (Npc &pl)
 
int playerHotKeyScreenMap (Npc &pl)
 
void playerHotLamePotion (Npc &pl)
 
void playerHotLameHeal (Npc &pl)
 
const PerDistpercRanges () const
 
bool isDead (const Npc &pl)
 
bool isUnconscious (const Npc &pl)
 
bool isTalk (const Npc &pl)
 
bool isAttack (const Npc &pl) const
 
std::string_view spellCastAnim (Npc &npc, Item &fn)
 
std::string_view messageFromSvm (std::string_view id, int voice) const
 
std::string_view messageByName (std::string_view id) const
 
uint32_t messageTime (std::string_view id) const
 
void printNothingToGet ()
 
float tradeValueMultiplier () const
 
void useInteractive (const std::shared_ptr< zenkit::INpc > &hnpc, std::string_view func)
 
Attitude guildAttitude (const Npc &p0, const Npc &p1) const
 
Attitude personAttitude (const Npc &p0, const Npc &p1) const
 
bool isFriendlyFire (const Npc &src, const Npc &dst) const
 
BodyState schemeToBodystate (std::string_view sc)
 
void onWldItemRemoved (const Item &itm)
 
void fixNpcPosition (Npc &npc, float angle0, float distBias)
 
void eventPlayAni (Npc &npc, std::string_view ani)
 

Friends

struct ScopeCtx
 

Detailed Description

Definition at line 45 of file gamescript.h.

Constructor & Destructor Documentation

◆ GameScript()

GameScript::GameScript ( GameSession owner)

Definition at line 90 of file gamescript.cpp.

◆ ~GameScript()

GameScript::~GameScript ( )

Definition at line 106 of file gamescript.cpp.

Member Function Documentation

◆ aiState()

const AiState & GameScript::aiState ( ScriptFn  id)

Definition at line 838 of file gamescript.cpp.

◆ canNpcCollideWithSpell()

CollideMask GameScript::canNpcCollideWithSpell ( Npc npc,
Npc shooter,
int32_t  spellId 
) -> CollideMask

Definition at line 1190 of file gamescript.cpp.

◆ criticalDamageMultiplyer()

int32_t GameScript::criticalDamageMultiplyer ( ) const

Definition at line 1593 of file gamescript.cpp.

◆ currencyName()

std::string_view GameScript::currencyName ( ) const
inline

Definition at line 97 of file gamescript.h.

◆ dialogChoices()

std::vector< GameScript::DlgChoice > GameScript::dialogChoices ( std::shared_ptr< zenkit::INpc >  self,
std::shared_ptr< zenkit::INpc >  npc,
const std::vector< uint32_t > &  except,
bool  includeImp 
) -> std::vector<DlgChoice>

Definition at line 857 of file gamescript.cpp.

◆ eventPlayAni()

void GameScript::eventPlayAni ( Npc npc,
std::string_view  ani 
)

Definition at line 787 of file gamescript.cpp.

◆ exec()

void GameScript::exec ( const DlgChoice dlg,
Npc player,
Npc npc 
)

Definition at line 942 of file gamescript.cpp.

◆ findSymbol() [1/2]

zenkit::DaedalusSymbol * GameScript::findSymbol ( const size_t  s)

Definition at line 825 of file gamescript.cpp.

◆ findSymbol() [2/2]

zenkit::DaedalusSymbol * GameScript::findSymbol ( std::string_view  s)

Definition at line 821 of file gamescript.cpp.

◆ findSymbolIndex()

size_t GameScript::findSymbolIndex ( std::string_view  s)

Definition at line 829 of file gamescript.cpp.

◆ fixNpcPosition()

void GameScript::fixNpcPosition ( Npc npc,
float  angle0,
float  distBias 
)

Definition at line 764 of file gamescript.cpp.

◆ focusMage()

const zenkit::IFocus & GameScript::focusMage ( ) const
inline

Definition at line 106 of file gamescript.h.

◆ focusMelee()

const zenkit::IFocus & GameScript::focusMelee ( ) const
inline

Definition at line 104 of file gamescript.h.

◆ focusNorm()

const zenkit::IFocus & GameScript::focusNorm ( ) const
inline

Definition at line 103 of file gamescript.h.

◆ focusRange()

const zenkit::IFocus & GameScript::focusRange ( ) const
inline

Definition at line 105 of file gamescript.h.

◆ getVm()

auto & GameScript::getVm ( )
inline

Definition at line 78 of file gamescript.h.

◆ goldId()

auto * GameScript::goldId ( ) const
inline

Definition at line 95 of file gamescript.h.

◆ guildAttitude()

Attitude GameScript::guildAttitude ( const Npc p0,
const Npc p1 
) const

Definition at line 1366 of file gamescript.cpp.

◆ guildVal()

const zenkit::IGuildValues & GameScript::guildVal ( ) const
inline

Definition at line 107 of file gamescript.h.

◆ hasSymbolName()

bool GameScript::hasSymbolName ( std::string_view  fn)

Definition at line 1450 of file gamescript.cpp.

◆ initDialogs()

void GameScript::initDialogs ( )

Definition at line 442 of file gamescript.cpp.

◆ initializeInstanceItem()

void GameScript::initializeInstanceItem ( const std::shared_ptr< zenkit::IItem > &  item,
size_t  instance 
)

Definition at line 525 of file gamescript.cpp.

◆ initializeInstanceNpc()

void GameScript::initializeInstanceNpc ( const std::shared_ptr< zenkit::INpc > &  npc,
size_t  instance 
)

Definition at line 505 of file gamescript.cpp.

◆ invokeCond()

int GameScript::invokeCond ( Npc npc,
std::string_view  func 
)

Definition at line 1165 of file gamescript.cpp.

◆ invokeItem()

void GameScript::invokeItem ( Npc npc,
ScriptFn  fn 
)

Definition at line 1107 of file gamescript.cpp.

◆ invokeMana()

int GameScript::invokeMana ( Npc npc,
Npc target,
int  mana 
)

Definition at line 1119 of file gamescript.cpp.

◆ invokeManaRelease()

int GameScript::invokeManaRelease ( Npc npc,
Npc target,
int  mana 
)

Definition at line 1130 of file gamescript.cpp.

◆ invokePickLock()

void GameScript::invokePickLock ( Npc npc,
int  bSuccess,
int  bBrokenOpen 
)

Definition at line 1175 of file gamescript.cpp.

◆ invokeRefreshAtInsert()

void GameScript::invokeRefreshAtInsert ( Npc npc)

Definition at line 1183 of file gamescript.cpp.

◆ invokeSpell()

void GameScript::invokeSpell ( Npc npc,
Npc target,
Item fn 
)

Definition at line 1141 of file gamescript.cpp.

◆ invokeState() [1/2]

void GameScript::invokeState ( const std::shared_ptr< zenkit::INpc > &  hnpc,
const std::shared_ptr< zenkit::INpc > &  hother,
const char *  name 
)

Definition at line 1055 of file gamescript.cpp.

◆ invokeState() [2/2]

int GameScript::invokeState ( Npc npc,
Npc other,
Npc victim,
ScriptFn  fn 
)

Definition at line 1065 of file gamescript.cpp.

◆ isAttack()

bool GameScript::isAttack ( const Npc pl) const

Definition at line 1303 of file gamescript.cpp.

◆ isDead()

bool GameScript::isDead ( const Npc pl)

Definition at line 1291 of file gamescript.cpp.

◆ isFriendlyFire()

bool GameScript::isFriendlyFire ( const Npc src,
const Npc dst 
) const

Definition at line 1386 of file gamescript.cpp.

◆ isTalk()

bool GameScript::isTalk ( const Npc pl)

Definition at line 1299 of file gamescript.cpp.

◆ isUnconscious()

bool GameScript::isUnconscious ( const Npc pl)

Definition at line 1295 of file gamescript.cpp.

◆ loadPerc()

void GameScript::loadPerc ( Serialize fin)

Definition at line 667 of file gamescript.cpp.

◆ loadQuests()

void GameScript::loadQuests ( Serialize fin)

Definition at line 545 of file gamescript.cpp.

◆ loadVar()

void GameScript::loadVar ( Serialize fin)

Definition at line 567 of file gamescript.cpp.

◆ lockPickId()

uint32_t GameScript::lockPickId ( ) const

Definition at line 1597 of file gamescript.cpp.

◆ lockPickSymbol()

auto * GameScript::lockPickSymbol ( ) const
inline

Definition at line 100 of file gamescript.h.

◆ menuMain()

std::string_view GameScript::menuMain ( ) const

Definition at line 1601 of file gamescript.cpp.

◆ messageByName()

std::string_view GameScript::messageByName ( std::string_view  id) const

Definition at line 1311 of file gamescript.cpp.

◆ messageFromSvm()

std::string_view GameScript::messageFromSvm ( std::string_view  id,
int  voice 
) const

Definition at line 1307 of file gamescript.cpp.

◆ messageTime()

uint32_t GameScript::messageTime ( std::string_view  id) const

Definition at line 1321 of file gamescript.cpp.

◆ npcDamDiveTime()

int GameScript::npcDamDiveTime ( )

Definition at line 1586 of file gamescript.cpp.

◆ onWldItemRemoved()

void GameScript::onWldItemRemoved ( const Item itm)

Definition at line 1409 of file gamescript.cpp.

◆ openAiOuput()

AiOuputPipe * GameScript::openAiOuput ( )

Definition at line 1566 of file gamescript.cpp.

◆ openDlgOuput()

AiOuputPipe * GameScript::openDlgOuput ( Npc player,
Npc npc 
)

Definition at line 1570 of file gamescript.cpp.

◆ percRanges()

const PerDist & GameScript::percRanges ( ) const
inline

Definition at line 150 of file gamescript.h.

◆ personAttitude()

Attitude GameScript::personAttitude ( const Npc p0,
const Npc p1 
) const

Definition at line 1373 of file gamescript.cpp.

◆ playerHotKeyScreenMap()

int GameScript::playerHotKeyScreenMap ( Npc pl)

Definition at line 1222 of file gamescript.cpp.

◆ playerHotKeyScreenMap_G1()

int GameScript::playerHotKeyScreenMap_G1 ( Npc pl)

Definition at line 1209 of file gamescript.cpp.

◆ playerHotLameHeal()

void GameScript::playerHotLameHeal ( Npc pl)

Definition at line 1250 of file gamescript.cpp.

◆ playerHotLamePotion()

void GameScript::playerHotLamePotion ( Npc pl)

Definition at line 1237 of file gamescript.cpp.

◆ playerPercAssessMagic()

ScriptFn GameScript::playerPercAssessMagic ( )

Definition at line 1576 of file gamescript.cpp.

◆ printCannotBuyError()

void GameScript::printCannotBuyError ( Npc npc)

Definition at line 982 of file gamescript.cpp.

◆ printCannotCastError()

void GameScript::printCannotCastError ( Npc npc,
int32_t  plM,
int32_t  itM 
)

Definition at line 973 of file gamescript.cpp.

◆ printCannotUseError()

void GameScript::printCannotUseError ( Npc npc,
int32_t  atr,
int32_t  nValue 
)

Definition at line 964 of file gamescript.cpp.

◆ printMobAnotherIsUsing()

void GameScript::printMobAnotherIsUsing ( Npc npc)

Definition at line 1012 of file gamescript.cpp.

◆ printMobMissingItem()

void GameScript::printMobMissingItem ( Npc npc)

Definition at line 990 of file gamescript.cpp.

◆ printMobMissingKey()

void GameScript::printMobMissingKey ( Npc npc)

Definition at line 1001 of file gamescript.cpp.

◆ printMobMissingKeyOrLockpick()

void GameScript::printMobMissingKeyOrLockpick ( Npc npc)

Definition at line 1023 of file gamescript.cpp.

◆ printMobMissingLockpick()

void GameScript::printMobMissingLockpick ( Npc npc)

Definition at line 1034 of file gamescript.cpp.

◆ printMobTooFar()

void GameScript::printMobTooFar ( Npc npc)

Definition at line 1045 of file gamescript.cpp.

◆ printNothingToGet()

void GameScript::printNothingToGet ( )

Definition at line 1341 of file gamescript.cpp.

◆ questLog()

const QuestLog & GameScript::questLog ( ) const -> const QuestLog&

Definition at line 688 of file gamescript.cpp.

◆ rand()

uint32_t GameScript::rand ( uint32_t  max)

Definition at line 1463 of file gamescript.cpp.

◆ removeItem()

void GameScript::removeItem ( Item it)

Definition at line 1549 of file gamescript.cpp.

◆ resetVarPointers()

void GameScript::resetVarPointers ( )

Definition at line 679 of file gamescript.cpp.

◆ savePerc()

void GameScript::savePerc ( Serialize fout)

Definition at line 660 of file gamescript.cpp.

◆ saveQuests()

void GameScript::saveQuests ( Serialize fout)

Definition at line 536 of file gamescript.cpp.

◆ saveVar()

void GameScript::saveVar ( Serialize fout)

Definition at line 558 of file gamescript.cpp.

◆ schemeToBodystate()

BodyState GameScript::schemeToBodystate ( std::string_view  sc)

Definition at line 1397 of file gamescript.cpp.

◆ setInstanceItem()

void GameScript::setInstanceItem ( Npc holder,
size_t  itemId 
)

Definition at line 1562 of file gamescript.cpp.

◆ setInstanceNPC()

void GameScript::setInstanceNPC ( std::string_view  name,
Npc npc 
)

Definition at line 1553 of file gamescript.cpp.

◆ spellCastAnim()

std::string_view GameScript::spellCastAnim ( Npc npc,
Item fn 
)

Definition at line 1263 of file gamescript.cpp.

◆ spellDesc()

const zenkit::ISpell & GameScript::spellDesc ( int32_t  splId)

Definition at line 846 of file gamescript.cpp.

◆ spellVfx()

const VisualFx * GameScript::spellVfx ( int32_t  splId)

Definition at line 851 of file gamescript.cpp.

◆ symbolsCount()

size_t GameScript::symbolsCount ( ) const

Definition at line 834 of file gamescript.cpp.

◆ tick()

void GameScript::tick ( uint64_t  dt)

Definition at line 1458 of file gamescript.cpp.

◆ tickCount()

uint64_t GameScript::tickCount ( ) const

Definition at line 1454 of file gamescript.cpp.

◆ tradeValueMultiplier()

float GameScript::tradeValueMultiplier ( ) const
inline

Definition at line 163 of file gamescript.h.

◆ updateDialog()

std::vector< GameScript::DlgChoice > GameScript::updateDialog ( const GameScript::DlgChoice dlg,
Npc player,
Npc npc 
) -> std::vector<GameScript::DlgChoice>

Definition at line 918 of file gamescript.cpp.

◆ useInteractive()

void GameScript::useInteractive ( const std::shared_ptr< zenkit::INpc > &  hnpc,
std::string_view  func 
)

Definition at line 1352 of file gamescript.cpp.

◆ world() [1/2]

World & GameScript::world ( )

Definition at line 796 of file gamescript.cpp.

◆ world() [2/2]

const World & GameScript::world ( ) const

Definition at line 792 of file gamescript.cpp.

Friends And Related Symbol Documentation

◆ ScopeCtx

friend struct ScopeCtx
friend

Definition at line 501 of file gamescript.h.


The documentation for this class was generated from the following files: