Commit 54b9ffb
committed
Add raid_events=shield + helpers for enemy-side absorbs
A new `shield` raid event puts an absorb buff on a target enemy
(target=, amount=, school= options plus standard timing controls).
The raid event creates a real absorb_buff_t so the shield correctly
absorbs damage and influences fight termination — the encounter-
modeling use case, analogous to raid_event=vulnerable.
When a player damages an enemy with an absorb, the attacker's stats
include the absorbed portion as damage dealt (action.cpp), so DPS
attribution reflects the rolled damage rather than only the post-
absorb HP impact.
Adds player_t::has_absorb() and current_absorb_amount() helpers
(scoped to enemy actors) plus a target.has_absorb expression for APL
queries.1 parent c7607fd commit 54b9ffb
4 files changed
Lines changed: 141 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2133 | 2133 | | |
2134 | 2134 | | |
2135 | 2135 | | |
| 2136 | + | |
| 2137 | + | |
| 2138 | + | |
| 2139 | + | |
| 2140 | + | |
| 2141 | + | |
| 2142 | + | |
2136 | 2143 | | |
2137 | 2144 | | |
2138 | 2145 | | |
2139 | 2146 | | |
2140 | 2147 | | |
2141 | 2148 | | |
2142 | 2149 | | |
2143 | | - | |
| 2150 | + | |
2144 | 2151 | | |
2145 | 2152 | | |
2146 | 2153 | | |
2147 | 2154 | | |
2148 | 2155 | | |
2149 | | - | |
| 2156 | + | |
2150 | 2157 | | |
2151 | 2158 | | |
2152 | 2159 | | |
| |||
2158 | 2165 | | |
2159 | 2166 | | |
2160 | 2167 | | |
2161 | | - | |
| 2168 | + | |
| 2169 | + | |
| 2170 | + | |
| 2171 | + | |
| 2172 | + | |
2162 | 2173 | | |
2163 | 2174 | | |
2164 | 2175 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5888 | 5888 | | |
5889 | 5889 | | |
5890 | 5890 | | |
| 5891 | + | |
| 5892 | + | |
| 5893 | + | |
| 5894 | + | |
| 5895 | + | |
| 5896 | + | |
| 5897 | + | |
| 5898 | + | |
| 5899 | + | |
| 5900 | + | |
| 5901 | + | |
| 5902 | + | |
| 5903 | + | |
| 5904 | + | |
| 5905 | + | |
| 5906 | + | |
| 5907 | + | |
| 5908 | + | |
| 5909 | + | |
| 5910 | + | |
| 5911 | + | |
| 5912 | + | |
| 5913 | + | |
| 5914 | + | |
| 5915 | + | |
5891 | 5916 | | |
5892 | 5917 | | |
5893 | 5918 | | |
| |||
12090 | 12115 | | |
12091 | 12116 | | |
12092 | 12117 | | |
| 12118 | + | |
| 12119 | + | |
| 12120 | + | |
12093 | 12121 | | |
12094 | 12122 | | |
12095 | 12123 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1413 | 1413 | | |
1414 | 1414 | | |
1415 | 1415 | | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
1416 | 1420 | | |
1417 | 1421 | | |
1418 | 1422 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1667 | 1667 | | |
1668 | 1668 | | |
1669 | 1669 | | |
| 1670 | + | |
| 1671 | + | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
| 1682 | + | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
| 1688 | + | |
| 1689 | + | |
| 1690 | + | |
| 1691 | + | |
| 1692 | + | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
| 1698 | + | |
| 1699 | + | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
| 1711 | + | |
| 1712 | + | |
| 1713 | + | |
| 1714 | + | |
| 1715 | + | |
| 1716 | + | |
| 1717 | + | |
| 1718 | + | |
| 1719 | + | |
| 1720 | + | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
| 1726 | + | |
| 1727 | + | |
| 1728 | + | |
| 1729 | + | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
| 1735 | + | |
| 1736 | + | |
| 1737 | + | |
| 1738 | + | |
| 1739 | + | |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
| 1753 | + | |
| 1754 | + | |
| 1755 | + | |
| 1756 | + | |
| 1757 | + | |
| 1758 | + | |
| 1759 | + | |
| 1760 | + | |
| 1761 | + | |
| 1762 | + | |
1670 | 1763 | | |
1671 | 1764 | | |
1672 | 1765 | | |
| |||
2305 | 2398 | | |
2306 | 2399 | | |
2307 | 2400 | | |
| 2401 | + | |
| 2402 | + | |
2308 | 2403 | | |
2309 | 2404 | | |
2310 | 2405 | | |
| |||
0 commit comments