MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / process_server

Method process_server

Engine/source/afx/afxMagicSpell.cpp:1721–1801  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1719// private
1720
1721void afxMagicSpell::process_server()
1722{
1723 if (mSpell_state != INACTIVE_STATE)
1724 mSpell_elapsed += TickSec;
1725
1726 U8 pending_state = mSpell_state;
1727
1728 // check for state changes
1729 switch (mSpell_state)
1730 {
1731
1732 case INACTIVE_STATE:
1733 if (mMarks_mask & MARK_ACTIVATE)
1734 pending_state = CASTING_STATE;
1735 break;
1736
1737 case CASTING_STATE:
1738 if (mDatablock->mCasting_dur > 0.0f && mDatablock->mDo_move_interrupts && is_caster_moving())
1739 {
1740 displayScreenMessage(mCaster, "SPELL INTERRUPTED.");
1741 postSpellEvent(INTERRUPT_SPELL_EVENT);
1742 }
1743 if (mMarks_mask & MARK_INTERRUPT_CASTING)
1744 pending_state = CLEANUP_STATE;
1745 else if (mMarks_mask & MARK_END_CASTING)
1746 pending_state = DELIVERY_STATE;
1747 else if (mMarks_mask & MARK_LAUNCH)
1748 pending_state = DELIVERY_STATE;
1749 else if (state_expired())
1750 pending_state = DELIVERY_STATE;
1751 break;
1752
1753 case DELIVERY_STATE:
1754 if (mMarks_mask & MARK_INTERRUPT_DELIVERY)
1755 pending_state = CLEANUP_STATE;
1756 else if (mMarks_mask & MARK_END_DELIVERY)
1757 pending_state = LINGER_STATE;
1758 else if (mMarks_mask & MARK_IMPACT)
1759 pending_state = LINGER_STATE;
1760 else if (state_expired())
1761 pending_state = LINGER_STATE;
1762 break;
1763
1764 case LINGER_STATE:
1765 if (mMarks_mask & MARK_INTERRUPT_LINGER)
1766 pending_state = CLEANUP_STATE;
1767 else if (mMarks_mask & MARK_END_LINGER)
1768 pending_state = CLEANUP_STATE;
1769 else if (mMarks_mask & MARK_SHUTDOWN)
1770 pending_state = CLEANUP_STATE;
1771 else if (state_expired())
1772 pending_state = CLEANUP_STATE;
1773 break;
1774
1775 case CLEANUP_STATE:
1776 if ((mMarks_mask & MARK_INTERRUPT_CLEANUP) || cleanup_over())
1777 pending_state = DONE_STATE;
1778 break;

Callers

nothing calls this directly

Calls 2

sampleMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected