A  re/forestier/edu/rpg/Player defaultMaxHpLre/forestier/edu/lib/Natural;   re/forestier/edu/lib/NaturaltoInt()I  P(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/util/ArrayList;I)V  java/lang/Object()VARCHER  java/lang/Stringequals(Ljava/lang/Object;)Z ADVENTURER!DWARF # $% playerNameLjava/lang/String; ' (% avatarName * +% avatarClass - ./valueOf!(I)Lre/forestier/edu/lib/Natural; 1 2money 4 56 inventoryLjava/util/ArrayList; 8 9level ; <xp >?@ AB!re/forestier/edu/rpg/UpdatePlayerabilitiesPerTypeAndLevel()Ljava/util/HashMap; DEF GHjava/util/HashMapget&(Ljava/lang/Object;)Ljava/lang/Object; JKL .Mjava/lang/Integer(I)Ljava/lang/Integer; O PQ abilitiesLjava/util/HashMap; S TmaxHealthPoint V WcurrentHealthPointsY"java/lang/IllegalArgumentException X \ ]^add!(Lre/forestier/edu/lib/Natural;)V ` ab compareTo!(Lre/forestier/edu/lib/Natural;)I d efclone()Ljava/lang/Object; h i^ substract k lm xpForlevel[Ljava/lang/Integer; Jo p intValue sjava/util/Random r >v wx objectList[Ljava/lang/String; rz {|nextInt(I)I ~ ]java/util/ArrayList  getAvatarClass()Ljava/lang/String; acceptQ(Lre/forestier/edu/rpg/Player;Ljava/util/HashMap;)Ljava/util/function/BiConsumer; D forEach"(Ljava/util/function/BiConsumer;)V#Player can't have a negative money! X (Ljava/lang/String;)Vjava/lang/StringBuilderJoueur append-(Ljava/lang/String;)Ljava/lang/StringBuilder; joué par  Niveau : (I)Ljava/lang/StringBuilder; (XP totale : -(Ljava/lang/Object;)Ljava/lang/StringBuilder;) Capacités : :(Ljava/lang/StringBuilder;)Ljava/util/function/BiConsumer; Inventaire : 8(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer; ~  (Ljava/util/function/Consumer;)V toString makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; 9(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/String; D put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; Signature:Ljava/util/HashMap;)Ljava/util/ArrayList;O(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/util/ArrayList;)VCodeLineNumberTableLocalVariableTablethisLre/forestier/edu/rpg/Player; avatar_nameILocalVariableTypeTablec(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/util/ArrayList;)VmaxHp StackMapTabled(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/util/ArrayList;I)V getPlayerName getAvatarNamegetMoney()Ljava/lang/Integer;getLevelgetMaxHealthPointsgetCurrentHealthPointsheal(I)VhphurtdamagegetXpaddXprandomLjava/util/Random; ancientLeveli removeMoneyamounttoRemoveaddMoneytoAddsbLjava/lang/StringBuilder;lambda$toString$2.(Ljava/lang/StringBuilder;Ljava/lang/String;)Vitemlambda$toString$1A(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/Integer;)VnameLjava/lang/Integer;lambda$addXp$0;(Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Integer;)Vability SourceFile Player.javaBootstrapMethods'(Ljava/lang/Object;Ljava/lang/Object;)V  ((Ljava/lang/String;Ljava/lang/Integer;)V  (Ljava/lang/Object;)V       :   "java/lang/invoke/LambdaMetafactory metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;  $java/lang/invoke/StringConcatFactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; InnerClasses%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup! lm$%(%+%29TW<PQ56*+,-  >$%%+%256 53*  " H|*-- - *+"*,&*-)*,0*3*,7*,:*=*)CDICDN*,R*,U:%&( +%,*-/.8/>0F1N2i3r4{5H||$%|%|+%|2|56| |5 ~/*"9 /*&> 5 *0IC   2*7H  2*RM  2*UR 5 XYZ*U,[*U*R_**RcUWY [\&^4`55 'a XYZ*U,gdf hi  2*:n /*)r C*7cM*:,[>j*:j2n *,7,*7qMrYt:*3uuy2}W=*CD*7ICD:*2 v wxy2{8~@KTi>TA PQ< ~  P \$,M*0,_ XY*0,g# $$T,M*0,[  sYL+*&W+W+*"W+W+*7W+W+*:W+W*N++W*3++6 #*6=FMZans i D *+W   % O *+,W   % 9^*N,+,CJW *PQ%9S7,JYISY ISYISY9ISYoISj   ,