package com.alterdekim.game.entity;

import com.alterdekim.flash.decompiler.mapper.FlashClass;
import com.alterdekim.flash.decompiler.mapper.FlashField;
import com.alterdekim.flash.decompiler.mapper.FlashValue;
import com.alterdekim.flash.decompiler.mapper.FlashValueType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.*;

@ToString
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name="magic_ability")
@FlashClass(name = "ma")
public class MagicAbility {
    @Id
    @FlashValue(type = FlashValueType.Id)
    private Long id;

    @Column(nullable = false)
    @FlashField(name = "TypeId")
    private Integer typeId;

    @Column(nullable = true)
    @FlashField(name = "duration")
    private Integer duration;

    @Column(nullable = true)
    @FlashField(name = "TweenerId")
    private Integer tweenerId;

    @Column(nullable = false)
    @FlashField(name = "MRId")
    private Integer mediaResourceId;

    @Column(nullable = false)
    @FlashField(name = "TRId")
    private Integer textResourceId;

    @Column(nullable = false)
    @FlashField(name = "IconMRId")
    private Integer iconMRId;

    @Column(nullable = false)
    @FlashField(name = "IsVisibleInInfoPanel")
    private Boolean isVisibleInInfoPanel;

    @Column(nullable = true)
    @FlashField(name = "IsMovable")
    private Boolean isMovable;
}
