package Ġcharacter Ċ Ċ import Ġcharacter . classes . h unter . pet . Cat Ċ import Ġcharacter . classes . h unter . pet . H unter Pet Ċ import Ġcharacter . classes . h unter . pet . R av ager Ċ import Ġcharacter . classes . h unter . pet . Wind Ser pent Ċ import Ġcharacter . classes . mage . pet . Water Element al Ċ import Ġcharacter . classes . pri est . pet . Shadow fi end Ċ import Ġmu . Kotlin Logging Ċ import Ġcharacter . r aces . Pet Ġas ĠPet Race Ċ Ċ class ĠPet ( klass : ĠClass , Ġval Ġstarts Active : ĠBoolean Ġ= Ġtrue ) Ġ: ĠCharacter ( klass , ĠPet Race ()) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlogger Ġ= ĠKotlin Logging . logger Ġ{} ĊĊĠĠĠĠĠĠĠ Ġfun Ġpet Class ByName ( name : ĠString ) Ġ: ĠClass Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen ( name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Cat " Ġ-> ĠCat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" R av ager " Ġ-> ĠR av ager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Shadow fi end " Ġ-> ĠShadow fi end () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Water ĠElement al " Ġ-> ĠWater Element al () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Wind ĠSer pent " Ġ-> ĠWind Ser pent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . warn Ġ{ Ġ" Invalid Ġpet Ġtype Ġ$ name Ġ- Ġdefault ing Ġto Ġkit ty Ġcat " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( name : ĠString , Ġstarts Active : ĠBoolean Ġ= Ġtrue ) Ġ: Ġthis ( pet Class ByName ( name ), Ġstarts Active ) Ċ } Ċ