@@ -18,6 +18,7 @@ import {
1818 EventCancelled ,
1919 EventPriorityAndDurationUpdated ,
2020 ParcelWhitelistSet ,
21+ SurveyParcel ,
2122} from "../../generated/RealmDiamond/RealmDiamond" ;
2223import { ParcelWhitelistSetEvent } from "../../generated/schema" ;
2324import { BIGINT_ONE , REALM_DIAMOND , StatCategory } from "../helper/constants" ;
@@ -158,6 +159,14 @@ export function handleAlchemicaClaimed(event: AlchemicaClaimed): void {
158159 // set last claim alchemica
159160 let parcel = getOrCreateParcel ( event . params . _realmId ) ;
160161 parcel . lastClaimedAlchemica = event . block . timestamp ;
162+
163+ let alchemicas = parcel . alchemicaToHarvest ;
164+ let entry = alchemicas [ event . params . _alchemicaType . toI32 ( ) ] ;
165+ alchemicas [ event . params . _alchemicaType . toI32 ( ) ] = entry . minus (
166+ event . params . _amount
167+ ) ;
168+ parcel . alchemicaToHarvest = alchemicas ;
169+
161170 parcel . save ( ) ;
162171
163172 // stats
@@ -540,3 +549,16 @@ export function handleParcelWhitelistSet(event: ParcelWhitelistSet): void {
540549 parEntity . whitelistId = event . params . _whitelistId . toI32 ( ) ;
541550 parEntity . save ( ) ;
542551}
552+
553+ export function handleSurveyParcel ( event : SurveyParcel ) : void {
554+ let entity = getOrCreateParcel ( event . params . _tokenId ) ;
555+
556+ let alchemica = entity . alchemicaToHarvest ;
557+ for ( let i = 0 ; i < event . params . _alchemicas . length ; i ++ ) {
558+ alchemica [ i ] = alchemica [ i ] . plus ( event . params . _alchemicas [ i ] ) ;
559+ }
560+
561+ entity . surveyRound = entity . surveyRound + 1 ;
562+ entity . alchemicaToHarvest = alchemica ;
563+ entity . save ( ) ;
564+ }
0 commit comments