Added Boss Defeated and Prestige events
This commit is contained in:
parent
9443561b9c
commit
5b99997170
@ -169,8 +169,12 @@ const PlayerProvider = ({ children }: { children: ReactNode }) => {
|
|||||||
abi,
|
abi,
|
||||||
address: contractAddress,
|
address: contractAddress,
|
||||||
functionName: 'raid',
|
functionName: 'raid',
|
||||||
|
}, {
|
||||||
|
onSuccess: (hash) => {
|
||||||
|
setHashAndCallback([hash, resetHashAndCallback])
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}, [writeContract])
|
}, [writeContract, resetHashAndCallback])
|
||||||
|
|
||||||
const addUnit = useCallback((unit: UnitType) => {
|
const addUnit = useCallback((unit: UnitType) => {
|
||||||
writeContract({
|
writeContract({
|
||||||
|
|||||||
@ -42,6 +42,8 @@ contract RaidGeld is ERC20, Ownable, Constants {
|
|||||||
uint16 championLevel
|
uint16 championLevel
|
||||||
);
|
);
|
||||||
event DaoTokenBuyInAmountSet(address indexed owner, uint256 oldAmount, uint256 newAmount);
|
event DaoTokenBuyInAmountSet(address indexed owner, uint256 oldAmount, uint256 newAmount);
|
||||||
|
event PrestigeGained(address indexed player, uint32 prestigeLevel);
|
||||||
|
event BossDefeated(address indexed player, uint8 bossLevel, uint256 earnings);
|
||||||
|
|
||||||
// Modifier for functions that should only be available to registered players
|
// Modifier for functions that should only be available to registered players
|
||||||
modifier onlyPlayer() {
|
modifier onlyPlayer() {
|
||||||
@ -252,9 +254,12 @@ contract RaidGeld is ERC20, Ownable, Constants {
|
|||||||
uint256 reward = RaidGeldUtils.calculateBossReward(boss_to_attack.level, BUY_IN_DAO_TOKEN_AMOUNT);
|
uint256 reward = RaidGeldUtils.calculateBossReward(boss_to_attack.level, BUY_IN_DAO_TOKEN_AMOUNT);
|
||||||
players[msg.sender].total_rewards += reward;
|
players[msg.sender].total_rewards += reward;
|
||||||
daoToken.transfer(msg.sender, reward);
|
daoToken.transfer(msg.sender, reward);
|
||||||
|
emit BossDefeated(msg.sender, boss_to_attack.level, reward);
|
||||||
|
|
||||||
if (boss_to_attack.level == 6) {
|
if (boss_to_attack.level == 6) {
|
||||||
// User ascends! Moloch is defeated, user can start a new run
|
// User ascends! Moloch is defeated, user can start a new run
|
||||||
players[msg.sender].prestige_level += 1;
|
players[msg.sender].prestige_level += 1;
|
||||||
|
emit PrestigeGained(msg.sender, players[msg.sender].prestige_level);
|
||||||
player_dies(msg.sender);
|
player_dies(msg.sender);
|
||||||
return [hasWonBattle, true /* New prestige level! */ ];
|
return [hasWonBattle, true /* New prestige level! */ ];
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user