class Game_Actor < Game_Battler
def basic_traits
# when 0 #can pick
# spr.blend_type = 0
# spr.opacity = 255
# when 1 #not fit, need more
# spr.blend_type = 0
# spr.opacity = 128
# when 2 #not allowed
# spr.blend_type = 2
# spr.opacity =50
# when 3 #already picked
# spr.blend_type = 1
# spr.opacity = 255
# when 4 #not fit, but closed, need more
# spr.blend_type = 0
# spr.opacity = 128
[
[25,64,self.combat_trait, 123],
[33,63,self.scoutcraft_trait, 122],
[41,62,self.wisdom_trait, 121],
[40,61,self.survival_trait, 120],
[48,60,self.constitution_trait, 119]
]
end
def gift_traits
#[]other traits # 200 = nil
[
200,116,200,200,117,200,200,115,200,
200,200,200,141,200,200,200,131,129,
200,200,125,200,200,200,200,200,200,
135,130,134,137,132,142,145,133,138,
200,200,200,200,127,200,200,200,200,
200,200,200,200,200,200,200,200,200,
200,143,200,200,140,200,200,126,200,
200,200,200,200,200,200,146,200,200,
200,128,200,200,200,144,200,139,200
]
end
def basic_trait_addable?(tmpVal)
99 >= tmpVal
end
#state
#current_selected =>[selected_gift_trait_id,selected_gift_trait_id,selected_gift_trait_id,selected_gift_trait_id,selected_gift_trait_id]
def gift_trait_addable?(trait_id,current_selected)
case trait_id
when 115; return trait_Nymph_addable?(current_selected);#true: can add / false: cannot add
when 116; return trait_IronWill_addable?(current_selected);
when 117; return trait_WeakSoul_addable?(current_selected);
when 125; return trait_bloodlust_addable?(current_selected);
when 126; return trait_masochist_addable?(current_selected);
when 127; return trait_cannibal_addable?(current_selected);
when 128; return trait_BloodyMess_addable?(current_selected);
when 129; return trait_exhibitionism_addable?(current_selected);
when 130; return trait_HunterTraining_addable?(current_selected);
when 131; return trait_prostitute_addable?(current_selected);
when 132; return trait_omnivore_addable?(current_selected);
when 133; return trait_semengulper_addable?(current_selected);
when 134; return trait_ManaKnowledge_addable?(current_selected);
when 135; return trait_WeaponryKnowledge_addable?(current_selected);
#when 136; return trait_Alchemy_addable?(current_selected);
when 137; return trait_ImproveThrowRock_addable?(current_selected);
when 138; return trait_Succubus_addable?(current_selected);
when 139; return trait_Lilith_addable?(current_selected);
when 140; return trait_Hitchhiker_addable?(current_selected);
when 141; return trait_Pessimist_addable?(current_selected);
when 142; return trait_IntoShadow_addable?(current_selected);
when 143; return trait_TrapImprove_addable?(current_selected);
when 144; return trait_ShadowMaster_addable?(current_selected);
when 145; return trait_NunKnowledge_addable?(current_selected);
when 146; return trait_SaintFieldSupporter_addable?(current_selected);
else raise "what are you doing"
end
end
### 1 can take, but not yet, 2 blocked by trait 0 can take
def trait_Nymph_addable?(current_selected) #115
return 2 if current_selected.include?(116) #trait_Nymph_addable
return 2 if current_selected.include?(117) #trait_WeakSoul_addable
#return 2 if current_selected.include?(134) #trait_ManaKnowledge_addable
#return 2 if current_selected.include?(135) #trait_WeaponryKnowledge_addable
#return 2 if state_stack(116) == 1 #trait_IronWill_addable
#return 2 if state_stack(117) == 1 #trait_WeakSoul_addable
#return 2 if state_stack(134) == 1 #trait_ManaKnowledge_addable
#return 2 if state_stack(135) == 1 #trait_WeaponryKnowledge_addable
return 3 if state_stack(115) == 1 #self
return 0
end
def trait_IronWill_addable?(current_selected) #116
return 2 if current_selected.include?(115) #trait_Nymph_addable
return 2 if current_selected.include?(117) #WeakSoul
#return 2 if current_selected.include?(132) #trait_omnivore_addable
#return 2 if current_selected.include?(133) #trait_semengulper_addable
#return 2 if current_selected.include?(134) #trait_ManaKnowledge_addablege
#return 2 if current_selected.include?(138) #Succubus
#return 2 if current_selected.include?(139) #Lilith
#return 2 if state_stack(115) == 1 #trait_Nymph_addable
#return 2 if state_stack(117) == 1 #WeakSoul
#return 2 if state_stack(132) == 1 #trait_omnivore_addable
#return 2 if state_stack(133) == 1 #trait_semengulper_addable
#return 2 if state_stack(134) == 1 #trait_ManaKnowledge_addable
#return 2 if state_stack(138) == 1 #Succubus
#return 2 if state_stack(139) == 1 #trait_Lilith_addable
return 3 if state_stack(116) == 1 #self
return 0
end
def trait_WeakSoul_addable?(current_selected) #117
return 2 if current_selected.include?(115) #Nymph
return 2 if current_selected.include?(116) #IronWill
#return 2 if current_selected.include?(127) #cannibal
#return 2 if current_selected.include?(135) #WeaponryKnowledge
#return 2 if current_selected.include?(138) #Succubus
#return 2 if current_selected.include?(125) #bloodlust
#return 2 if state_stack(115) == 1 #Nymph
#return 2 if state_stack(116) == 1 #IronWill
#return 2 if state_stack(135) == 1 #WeaponryKnowledge
#return 2 if state_stack(138) == 1 #Succubus
#return 2 if state_stack(125) == 1 #bloodlust
return 3 if state_stack(117) == 1 #self
return 0
end
def trait_bloodlust_addable?(current_selected) #125 bloodlust
#return 2 if current_selected.include?(145) #NunKnowledge
#return 2 if current_selected.include?(117) #_WeakSoul
#return 2 if state_stack(145) == 1 #NunKnowledge
#return 2 if state_stack(117) == 1 #_WeakSoul
return 3 if state_stack(125) == 1 #self
return 1 if @level < 10
return 0
end
def trait_masochist_addable?(current_selected) #126
#return 2 if current_selected.include?(141) #Pessimist
#return 2 if state_stack(141) == 1 #Pessimist
return 3 if state_stack(126) == 1 #self
return 1 if @level < 30
return 0
end
def trait_cannibal_addable?(current_selected) #127
#return 2 if current_selected.include?(145) #NunKnowledge
#return 2 if current_selected.include?(117) #WeakSoul
#return 2 if state_stack(145) == 1 #NunKnowledge
#return 2 if state_stack(117) == 1 #WeakSoul
return 3 if state_stack(127) == 1 #self
return 1 if @level < 20
return 0
end
def trait_BloodyMess_addable?(current_selected) #128
return 3 if state_stack(128) == 1 #self
return 1 if @level < 40
return 0
end
def trait_exhibitionism_addable?(current_selected) #129
return 3 if state_stack(129) == 1 #self
return 1 if @level < 5
return 0
end
def trait_HunterTraining_addable?(current_selected) #130
return 3 if state_stack(130) == 1 #self
return 1 if @level < 15
return 0
end
def trait_prostitute_addable?(current_selected) #131
return 3 if state_stack(131) == 1 #self
return 1 if @level < 5
return 0
end
def trait_omnivore_addable?(current_selected) #132
#return 2 if current_selected.include?(116) #IronWill
#return 2 if state_stack(116) == 1 #IronWill
return 3 if state_stack(132) == 1 #self
return 1 if @level < 15
return 0
end
def trait_semengulper_addable?(current_selected) #133
#return 2 if current_selected.include?(116) #IronWill
#return 2 if state_stack(116) == 1 #IronWill
return 3 if state_stack(133) == 1 #self
return 1 if @level < 15
return 0
end
def trait_ManaKnowledge_addable?(current_selected) #134
#return 2 if current_selected.include?(115) #Nymph
#return 2 if current_selected.include?(116) #IronWill
#return 2 if current_selected.include?(145) #NunKnowledge
#return 2 if state_stack(145) == 1 #NunKnowledge
#return 2 if state_stack(115) == 1 #Nymph
#return 2 if state_stack(116) == 1 #IronWill
return 3 if state_stack(134) == 1 #self
return 1 if @level < 15
return 0
end
def trait_WeaponryKnowledge_addable?(current_selected) #135
#return 2 if current_selected.include?(115) #Nymph
#return 2 if current_selected.include?(117) #IronWill
#return 2 if current_selected.include?(145) #NunKnowledge
#return 2 if state_stack(145) == 1 #NunKnowledge
#return 2 if state_stack(115) == 1 #Nymph
#return 2 if state_stack(117) == 1 #IronWill
return 3 if state_stack(135) == 1 #self
return 1 if @level < 15
return 0
end
def trait_NunKnowledge_addable?(current_selected) #145 #NunKnowledge
#return 2 if current_selected.include?(134) #ManaKnowledge
#return 2 if current_selected.include?(135) #WeaponryKnowledge
#return 2 if current_selected.include?(127) #cannibal
#return 2 if current_selected.include?(125) #bloodlust
#return 2 if state_stack(134) == 1 #ManaKnowledge
#return 2 if state_stack(135) == 1 #WeaponryKnowledge
#return 2 if state_stack(127) == 1 #cannibal
#return 2 if state_stack(125) == 1 #bloodlust
return 3 if state_stack(145) == 1 #self
return 1 if self.constitution_trait < 5 #CON
return 1 if @level < 15
return 0
end
def trait_SaintFieldSupporter_addable?(current_selected) #146 #SaintFieldSupporter
#return 2 if current_selected.include?(134) #ManaKnowledge
#return 2 if current_selected.include?(135) #WeaponryKnowledge
#return 2 if current_selected.include?(127) #cannibal
#return 2 if current_selected.include?(125) #bloodlust
#return 2 if state_stack(134) == 1 #ManaKnowledge
#return 2 if state_stack(135) == 1 #WeaponryKnowledge
#return 2 if state_stack(127) == 1 #cannibal
#return 2 if state_stack(125) == 1 #bloodlust
return 3 if state_stack(146) == 1 #self
return 4 if current_selected.include?(145)
return 1 if state_stack(145) != 1 #NunKnowledge
return 1 if self.constitution_trait < 10 #CON
return 1 if @level < 35
return 0
end
#def trait_Alchemy_addable?(current_selected) #136
# return 1 if self.survival_trait <10 #survival
# return 3 if state_stack(136) ==1 #self
# return 1 if @level < 10
# return 0
#end
def trait_ImproveThrowRock_addable?(current_selected) #137
return 3 if state_stack(137) ==1 #self
return 1 if @level < 15
return 1 if self.scoutcraft_trait <10 #scoutcraft
return 0
end
def trait_Succubus_addable?(current_selected) #138
#return 2 if current_selected.include?(116) #ironwill
#return 2 if current_selected.include?(117) #Weaksoul
#return 2 if state_stack(116) == 1 #ironwill
#return 2 if state_stack(117) == 1 #Weaksoul
return 3 if state_stack(138) == 1 #self
return 4 if (current_selected.include?(131) || current_selected.include?(115) ) && state_stack(115) != 1 && state_stack(131) != 1
return 1 if @level < 15
return 1 if state_stack(131) != 1 && state_stack(115) != 1
return 0
end
def trait_Lilith_addable?(current_selected) #139
#return 2 if current_selected.include?(116) #ironwill
#return 2 if state_stack(116) ==1 #ironwill
return 3 if state_stack(139) == 1 #self
return 4 if current_selected.include?(131)
return 1 if state_stack(131) != 1 #prostitute
return 1 if @level < 40
return 0
end
def trait_Hitchhiker_addable?(current_selected) #140
return 3 if state_stack(140) ==1 #self
return 1 if @level < 30
return 1 if self.survival_trait <15 #survival
return 0
end
def trait_Pessimist_addable?(current_selected) #141
#return 2 if current_selected.include?(126) #masochist
#return 2 if state_stack(126) ==1 #masochist
return 3 if state_stack(141) ==1 #self
return 1 if @level < 5
return 0
end
def trait_IntoShadow_addable?(current_selected) #142
return 3 if state_stack(142) ==1 #self
return 1 if @level < 15
return 1 if self.scoutcraft_trait <10 #SCU
return 0
end
def trait_ShadowMaster_addable?(current_selected) #144
return 3 if state_stack(144) ==1 #self
return 4 if current_selected.include?(142)
return 1 if @level < 40
return 1 if self.scoutcraft_trait <20 #SCU
return 1 if state_stack(142) != 1 #IntoShadow
return 0
end
def trait_TrapImprove_addable?(current_selected) #143
return 3 if state_stack(143) ==1 #self
return 4 if current_selected.include?(130)
return 1 if @level < 30
return 1 if self.survival_trait < 10 #survival
return 1 if state_stack(130) != 1 #HunterTraining
return 0
end
end