Documentation
¶
Index ¶
- type RoundBasedCalculator
- func (calc *RoundBasedCalculator) CalculateAttackCount(attacker, defender *characters.Character) int
- func (calc *RoundBasedCalculator) CalculateCriticalChance(attacker, defender *characters.Character) bool
- func (calc *RoundBasedCalculator) CalculateDamage(attacker, defender *characters.Character, weapon *items.Item) int
- func (calc *RoundBasedCalculator) CalculateDefense(defender *characters.Character) int
- func (calc *RoundBasedCalculator) CalculateHitChance(attacker, defender *characters.Character) bool
- func (calc *RoundBasedCalculator) CalculateInitiative(actor *characters.Character) int
- func (calc *RoundBasedCalculator) PowerRanking(attacker, defender *characters.Character) float64
- type RoundBasedCombat
- func (rbc *RoundBasedCombat) GetCalculator() combat.ICombatCalculator
- func (rbc *RoundBasedCombat) GetName() string
- func (rbc *RoundBasedCombat) GetTimer() combat.ICombatTimer
- func (rbc *RoundBasedCombat) Initialize() error
- func (rbc *RoundBasedCombat) ProcessCombatRound()
- func (rbc *RoundBasedCombat) Shutdown() error
- type RoundBasedTimer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type RoundBasedCalculator ¶
type RoundBasedCalculator struct{}
RoundBasedCalculator implements combat calculations for round-based combat
func NewRoundBasedCalculator ¶
func NewRoundBasedCalculator() *RoundBasedCalculator
NewRoundBasedCalculator creates a new calculator instance
func (*RoundBasedCalculator) CalculateAttackCount ¶
func (calc *RoundBasedCalculator) CalculateAttackCount(attacker, defender *characters.Character) int
CalculateAttackCount determines number of attacks per round
func (*RoundBasedCalculator) CalculateCriticalChance ¶
func (calc *RoundBasedCalculator) CalculateCriticalChance(attacker, defender *characters.Character) bool
CalculateCriticalChance determines if an attack is critical
func (*RoundBasedCalculator) CalculateDamage ¶
func (calc *RoundBasedCalculator) CalculateDamage(attacker, defender *characters.Character, weapon *items.Item) int
CalculateDamage computes damage for an attack
func (*RoundBasedCalculator) CalculateDefense ¶
func (calc *RoundBasedCalculator) CalculateDefense(defender *characters.Character) int
CalculateDefense computes defensive value
func (*RoundBasedCalculator) CalculateHitChance ¶
func (calc *RoundBasedCalculator) CalculateHitChance(attacker, defender *characters.Character) bool
CalculateHitChance determines if an attack hits
func (*RoundBasedCalculator) CalculateInitiative ¶
func (calc *RoundBasedCalculator) CalculateInitiative(actor *characters.Character) int
CalculateInitiative determines action order
func (*RoundBasedCalculator) PowerRanking ¶
func (calc *RoundBasedCalculator) PowerRanking(attacker, defender *characters.Character) float64
PowerRanking calculates relative power between actors
type RoundBasedCombat ¶
type RoundBasedCombat struct {
// contains filtered or unexported fields
}
RoundBasedCombat implements the traditional round-based combat system
func NewRoundBasedCombat ¶
func NewRoundBasedCombat(plug *plugins.Plugin) *RoundBasedCombat
NewRoundBasedCombat creates a new round-based combat system
func (*RoundBasedCombat) GetCalculator ¶
func (rbc *RoundBasedCombat) GetCalculator() combat.ICombatCalculator
GetCalculator returns the combat calculator
func (*RoundBasedCombat) GetName ¶
func (rbc *RoundBasedCombat) GetName() string
GetName returns the name of this combat system
func (*RoundBasedCombat) GetTimer ¶
func (rbc *RoundBasedCombat) GetTimer() combat.ICombatTimer
GetTimer returns the combat timer
func (*RoundBasedCombat) Initialize ¶
func (rbc *RoundBasedCombat) Initialize() error
Initialize sets up the combat system
func (*RoundBasedCombat) ProcessCombatRound ¶
func (rbc *RoundBasedCombat) ProcessCombatRound()
ProcessCombatRound handles combat for all actors
func (*RoundBasedCombat) Shutdown ¶
func (rbc *RoundBasedCombat) Shutdown() error
Shutdown cleanly shuts down the combat system
type RoundBasedTimer ¶
type RoundBasedTimer struct {
*combat.BaseTimer
*combat.PlayerTracker
// contains filtered or unexported fields
}
RoundBasedTimer tracks combat rounds and sends GMCP updates
func NewRoundBasedTimer ¶
func NewRoundBasedTimer(c *RoundBasedCombat) *RoundBasedTimer
NewRoundBasedTimer creates a new round-based timer
func (*RoundBasedTimer) AddPlayer ¶
func (rt *RoundBasedTimer) AddPlayer(userId int)
AddPlayer adds a player to combat tracking and starts timer if needed
func (*RoundBasedTimer) RemovePlayer ¶
func (rt *RoundBasedTimer) RemovePlayer(userId int)
RemovePlayer removes a player from combat tracking and stops timer if needed
func (*RoundBasedTimer) Start ¶
func (rt *RoundBasedTimer) Start() error
Start implements ICombatTimer