int AMorphProjectile::DoSpecialDamage (AActor *target, int damage, FName damagetype) { PClassActor *morph_flash = PClass::FindActor(MorphFlash); PClassActor *unmorph_flash = PClass::FindActor(UnMorphFlash); if (target->player) { PClassPlayerPawn *player_class = dyn_cast<PClassPlayerPawn>(PClass::FindClass(PlayerClass)); P_MorphPlayer (NULL, target->player, player_class, Duration, MorphStyle, morph_flash, unmorph_flash); } else { PClassActor *monster_class = PClass::FindActor(MonsterClass); P_MorphMonster (target, monster_class, Duration, MorphStyle, morph_flash, unmorph_flash); } return -1; }
int AMorphProjectile::DoSpecialDamage (AActor *target, int damage, FName damagetype) { const PClass *morph_flash = PClass::FindClass (MorphFlash); const PClass *unmorph_flash = PClass::FindClass (UnMorphFlash); if (target->player) { const PClass *player_class = PClass::FindClass (PlayerClass); P_MorphPlayer (NULL, target->player, player_class, Duration, MorphStyle, morph_flash, unmorph_flash); } else { const PClass *monster_class = PClass::FindClass (MonsterClass); P_MorphMonster (target, monster_class, Duration, MorphStyle, morph_flash, unmorph_flash); } return -1; }