Starkiller2
Member
I am trying to implement a class choice system in my game. While I can get the player to be able to choose a class, I want to have it so that their parameters change along with the class. Basically, if my main character is a Cleric I probably don't want them to have the health of a tanky Fighter. I can't figure out how to do this. There is a Change Parameters event command, but I can't use that as I would need to input EVERY value for EVERY level for EVERY class and have it be called whenever a character levels up or something like that (I'd like to avoid such a brute-force approach). Does anyone else have a solution of theirs they would like to share? :biggrin:
I have an idea though. I was thinking of setting up an actor that represents the class, and in the Game_Actor script I modify it so that, for instance, line 188 (to get maxHP) goes from this:
to something more like this (I'm not familiar with RGSS1, so if syntax is wrong I'm not too worried):
I think a solution like this for each of the scaling stats (HP, SP, etc) would work. I guess my only real question about this potential solution is will this actually get the correct class number? Is this the proper syntax if I want to get the class id for the current actor?
I have an idea though. I was thinking of setting up an actor that represents the class, and in the Game_Actor script I modify it so that, for instance, line 188 (to get maxHP) goes from this:
Code:
return $data_actors[@actor_id].parameters[0, @level]
to something more like this (I'm not familiar with RGSS1, so if syntax is wrong I'm not too worried):
Code:
case @class_id
when 1 #fighter
return $data_actors[2].parameters[0, @level]
.
.
.
when 9 #Cleric
return $data_actors[10].parameters[0, @level]
end
I think a solution like this for each of the scaling stats (HP, SP, etc) would work. I guess my only real question about this potential solution is will this actually get the correct class number? Is this the proper syntax if I want to get the class id for the current actor?