MonsterAdvanced: Difference between revisions

From SkyCorp Global
Jump to navigation Jump to search
No edit summary
(Fix function name for defaultDoMonsterVictoryDefault => defaultDoMonsterVictory)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Public Methods ==
== Public Methods ==
MonsterAdvanced is a kind of entity, so it supports all of public methods from [[Entity]].
MonsterAdvanced is a kind of entity, so it also supports all of public methods from [[Entity]]. Below are monster-specific methods:
 
== Private Methods ==


=== Getters ===
=== Getters ===


==== string getState() ====
==== string getState() ====
Gets current state. 
State is an all caps string, and generally one of four values (unless you add a new one for your monster).
* SLEEP
* REST
* ATTACK
* DEFEAT


==== Number getEscapeChance() ====
Also see defaultInWorldTick for notes.


==== int getHP() ====
==== int getHP() ====
Current HP value (higher is better).


==== int getHPReset() ====
==== int getHPReset() ====
Max HP value -- HP will reset to this during resetHP(). 


==== int getLust() ====
==== int getLust() ====
Current lust value (lower is better).


==== int getLustMax() ====
==== int getLustMax() ====
 
How high lust can get before defeat.
==== int getDropCash() ====


==== string getTextPrefix() ====
==== string getTextPrefix() ====
Line 35: Line 43:


==== Number getLustAttackMonsterAccuracy() ====
==== Number getLustAttackMonsterAccuracy() ====
== Private Methods ==
=== Getters ===
==== Number getEscapeChance() ====
Chance of escape (0-1)
==== int getDropCash() ====
If rewardDrop function is not overridden, it will drop this much cash on player victory.


==== Boolean getPermaDeath() ====
==== Boolean getPermaDeath() ====
Line 52: Line 70:


==== void setHPReset(int HP) ====
==== void setHPReset(int HP) ====
HP to reset to
HP to reset to during hpReset


==== void setLust(int lust) ====
==== void setLust(int lust) ====
Line 86: Line 104:


==== void defaultInWorldTick() ====
==== void defaultInWorldTick() ====
Pass control to the relevant tick function (ie if state is REST, then go to defaultTickRest)


==== void defaultTickRest() ====
==== void defaultTickRest() ====
Line 101: Line 120:
==== boolean defaultDoUse() ====
==== boolean defaultDoUse() ====


==== void defaultDoMonsterVictoryDefault() ====
==== void defaultDoMonsterVictory() ====


==== void defaultResetHPLust() ====
==== void defaultResetHPLust() ====

Latest revision as of 23:12, 31 December 2025

Public Methods

MonsterAdvanced is a kind of entity, so it also supports all of public methods from Entity. Below are monster-specific methods:

Getters

string getState()

Gets current state.

State is an all caps string, and generally one of four values (unless you add a new one for your monster).

  • SLEEP
  • REST
  • ATTACK
  • DEFEAT

Also see defaultInWorldTick for notes.

int getHP()

Current HP value (higher is better).

int getHPReset()

Max HP value -- HP will reset to this during resetHP().

int getLust()

Current lust value (lower is better).

int getLustMax()

How high lust can get before defeat.

string getTextPrefix()

int getMeleeAttackPlayerDamage()

Number getMeleeAttackPlayerAccuracy()

int getLustAttackPlayerDamage()

Number getLustAttackPlayerAccuracy()

Number getLustAttackChance()

Number getMeleeAttackMonsterAccuracy()

Number getLustAttackMonsterAccuracy()

Private Methods

Getters

Number getEscapeChance()

Chance of escape (0-1)

int getDropCash()

If rewardDrop function is not overridden, it will drop this much cash on player victory.

Boolean getPermaDeath()

int getSleepTurns()

int getDeathTurns()

Setters

void setState(string state)

void setEscapeChance(Number chance)

void setHP(int HP)

Current HP

void setHPReset(int HP)

HP to reset to during hpReset

void setLust(int lust)

void setLustMax(int lustMax)

void setDropCash(int cash)

void setTextPrefix(string prefix)

void setMeleeAttackPlayerDamage(int damage)

void setMeleeAttackPlayerAccuracy(Number accuracy)

void setLustAttackPlayerDamage(int damage)

void setLustAttackPlayerAccuracy(Number accuracy)

void setLustAttackChance(Number chance)

void setMeleeAttackMonsterAccuracy(Number accuracy)

void setLustAttackMonsterAccuracy(Number accuracy)

void setPermaDeath(Boolean permaDeath)

void setSleepTurns(int turns)

void setDeathTurns(int turns)

Default versions of functions

These are useful for calling if you want to do some logic first, and then fall back to the usual monster logic. See this example.        

void defaultInWorldTick()

Pass control to the relevant tick function (ie if state is REST, then go to defaultTickRest)

void defaultTickRest()

void defaultTickAttack()

void defaultTickDefeat()

void defaultTickSleep()

void defaultDoAttackPhysical()

void defaultDoAttackLust()

boolean defaultDoUse()

void defaultDoMonsterVictory()

void defaultResetHPLust()

boolean defaultIsAttackable()

Private functions (Dynamic Properties)

Note - these are also dynamic properties, and as such, overrideable by LUA. See JSON Mod Format page.

void inWorldTick()

void tickRest()

void tickAttack()

void tickDefeat()

void tickSleep()

boolean isAttackable()

void doAttackPhysical()

void resetHPLust()

void doAttackLust()

void beginSleep()

void rewardDrop()

void doMonsterVictory()